<SEC-DOCUMENT>0001493152-23-028381.txt : 20230814
<SEC-HEADER>0001493152-23-028381.hdr.sgml : 20230814
<ACCEPTANCE-DATETIME>20230814160053
ACCESSION NUMBER:		0001493152-23-028381
CONFORMED SUBMISSION TYPE:	10-Q
PUBLIC DOCUMENT COUNT:		88
CONFORMED PERIOD OF REPORT:	20230630
FILED AS OF DATE:		20230814
DATE AS OF CHANGE:		20230814

FILER:

	COMPANY DATA:	
		COMPANY CONFORMED NAME:			FLEXIBLE SOLUTIONS INTERNATIONAL INC
		CENTRAL INDEX KEY:			0001069394
		STANDARD INDUSTRIAL CLASSIFICATION:	MISCELLANEOUS CHEMICAL PRODUCTS [2890]
		IRS NUMBER:				911922863
		STATE OF INCORPORATION:			NV
		FISCAL YEAR END:			1231

	FILING VALUES:
		FORM TYPE:		10-Q
		SEC ACT:		1934 Act
		SEC FILE NUMBER:	001-31540
		FILM NUMBER:		231169507

	BUSINESS ADDRESS:	
		STREET 1:		2614 QUEENSWOOD DR
		CITY:			VICTORIA B C
		STATE:			A1
		ZIP:			V8N 1X5
		BUSINESS PHONE:		2504779969

	MAIL ADDRESS:	
		STREET 1:		2614 QUEENSWOOD DR
		CITY:			VICTORIA BC CANADA
		STATE:			A1
		ZIP:			V8N 1X5
</SEC-HEADER>
<DOCUMENT>
<TYPE>10-Q
<SEQUENCE>1
<FILENAME>form10-q.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/2023" xmlns:ref="http://www.xbrl.org/2006/ref" xmlns:utr="http://www.xbrl.org/2009/utr" xmlns:us-gaap="http://fasb.org/us-gaap/2023" xmlns:us-roles="http://fasb.org/us-roles/2023" xmlns:dtr-types="http://www.xbrl.org/dtr/type/2022-03-31" xmlns:country="http://xbrl.sec.gov/country/2023" xmlns:srt="http://fasb.org/srt/2023" xmlns:FSI="http://flexiblesolutions.com/20230630">
<head>
     <title></title>
<meta http-equiv="Content-Type" content="text/html" />
</head>
<!-- Field: Set; Name: xdx; ID: xdx_02C_US%2DGAAP%2D2023 -->
<!-- Field: Set; Name: xdx; ID: xdx_039_FSI_flexiblesolutions.com_20230630 -->
<!-- Field: Set; Name: xdx; ID: xdx_04C_20230101_20230630 -->
<!-- Field: Set; Name: xdx; ID: xdx_059_edei%2D%2DEntityCentralIndexKey_0001069394 -->
<!-- Field: Set; Name: xdx; ID: xdx_059_edei%2D%2DAmendmentFlag_false -->
<!-- Field: Set; Name: xdx; ID: xdx_058_edei%2D%2DDocumentFiscalPeriodFocus_Q2 -->
<!-- Field: Set; Name: xdx; ID: xdx_051_edei%2D%2DCurrentFiscalYearEndDate_%2D%2DLS0xMi0zMQ== -->
<!-- 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_06D_Segments_0_Segments -->
<!-- Field: Set; Name: xdx; ID: xdx_06E_CAD_0_iso4217%2D%2DCAD -->
<!-- Field: Set; Name: xdx; ID: xdx_06D_sqft_0_utr%2D%2Dsqft -->
<body style="font: 10pt Times New Roman, Times, Serif">
<div style="display: none">
<ix:header>
 <ix:hidden>
  <ix:nonNumeric contextRef="From2023-01-01to2023-06-30" name="dei:EntityCentralIndexKey">0001069394</ix:nonNumeric>
  <ix:nonNumeric contextRef="From2023-01-01to2023-06-30" name="dei:AmendmentFlag">false</ix:nonNumeric>
  <ix:nonNumeric contextRef="From2023-01-01to2023-06-30" name="dei:DocumentFiscalPeriodFocus">Q2</ix:nonNumeric>
  <ix:nonNumeric contextRef="From2023-01-01to2023-06-30" name="dei:CurrentFiscalYearEndDate">--12-31</ix:nonNumeric>
  <ix:nonNumeric contextRef="From2023-01-01to2023-06-30" id="xdx2ixbrl0022" name="dei:EntityIncorporationStateCountryCode">A0</ix:nonNumeric>
  <ix:nonFraction name="us-gaap:LinesOfCreditCurrent" contextRef="AsOf2023-06-30" id="xdx2ixbrl0108" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="FSI:Commissions" contextRef="From2023-04-012023-06-30" id="xdx2ixbrl0246" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="FSI:GainOnAcquisitionOfSubsidiaries" contextRef="From2023-04-012023-06-30" id="xdx2ixbrl0255" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="FSI:GainOnAcquisitionOfSubsidiaries" contextRef="From2023-01-01to2023-06-30" id="xdx2ixbrl0381" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="FSI:GainOnAcquisitionOfSubsidiaries" contextRef="From2023-01-01to2023-06-30" id="xdx2ixbrl0464" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="FSI:ProceedsFromNoncontrollingInterest" contextRef="From2022-01-012022-06-30" id="xdx2ixbrl0495" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired" contextRef="From2023-01-01to2023-06-30" id="xdx2ixbrl0497" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:PaymentsToAcquireInvestments" contextRef="From2022-01-012022-06-30" id="xdx2ixbrl0501" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:ProceedsFromSaleOfEquityMethodInvestments" contextRef="From2023-01-01to2023-06-30" id="xdx2ixbrl0503" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="FSI:DepositsOnPurchasesOfEquipment" contextRef="From2022-01-012022-06-30" id="xdx2ixbrl0507" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:PaymentsOfDividends" contextRef="From2022-01-012022-06-30" id="xdx2ixbrl0528" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:IncomeTaxesPaidNet" contextRef="From2022-01-012022-06-30" id="xdx2ixbrl0570" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" contextRef="From2023-01-012023-03-31_us-gaap_CommonStockMember" id="xdx2ixbrl0588" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" contextRef="From2023-01-012023-03-31_custom_CapitalInExcessOfParValueMember" id="xdx2ixbrl0589" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" contextRef="From2023-01-012023-03-31_us-gaap_RetainedEarningsMember" id="xdx2ixbrl0590" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" contextRef="From2023-01-012023-03-31_us-gaap_NoncontrollingInterestMember" id="xdx2ixbrl0593" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:ProfitLoss" contextRef="From2023-01-012023-03-31_us-gaap_CommonStockMember" id="xdx2ixbrl0596" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:ProfitLoss" contextRef="From2023-01-012023-03-31_custom_CapitalInExcessOfParValueMember" id="xdx2ixbrl0597" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:ProfitLoss" contextRef="From2023-01-012023-03-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember" id="xdx2ixbrl0599" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueNewIssues" contextRef="From2023-01-012023-03-31_us-gaap_RetainedEarningsMember" id="xdx2ixbrl0606" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueNewIssues" contextRef="From2023-01-012023-03-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember" id="xdx2ixbrl0607" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueNewIssues" contextRef="From2023-01-012023-03-31_us-gaap_NoncontrollingInterestMember" id="xdx2ixbrl0609" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" contextRef="From2023-01-012023-03-31_us-gaap_CommonStockMember" id="xdx2ixbrl0614" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" contextRef="From2023-01-012023-03-31_us-gaap_RetainedEarningsMember" id="xdx2ixbrl0616" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" contextRef="From2023-01-012023-03-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember" id="xdx2ixbrl0617" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" contextRef="From2023-01-012023-03-31_us-gaap_NoncontrollingInterestMember" id="xdx2ixbrl0619" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" contextRef="From2023-04-012023-06-30_us-gaap_CommonStockMember" id="xdx2ixbrl0632" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" contextRef="From2023-04-012023-06-30_custom_CapitalInExcessOfParValueMember" id="xdx2ixbrl0633" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" contextRef="From2023-04-012023-06-30_us-gaap_RetainedEarningsMember" id="xdx2ixbrl0634" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" contextRef="From2023-04-012023-06-30_us-gaap_NoncontrollingInterestMember" id="xdx2ixbrl0637" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:ProfitLoss" contextRef="From2023-04-012023-06-30_us-gaap_CommonStockMember" id="xdx2ixbrl0640" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:ProfitLoss" contextRef="From2023-04-012023-06-30_custom_CapitalInExcessOfParValueMember" id="xdx2ixbrl0641" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:ProfitLoss" contextRef="From2023-04-012023-06-30_us-gaap_AccumulatedOtherComprehensiveIncomeMember" id="xdx2ixbrl0643" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:Dividends" contextRef="From2023-04-012023-06-30_us-gaap_CommonStockMember" id="xdx2ixbrl0648" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:Dividends" contextRef="From2023-04-012023-06-30_custom_CapitalInExcessOfParValueMember" id="xdx2ixbrl0649" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:Dividends" contextRef="From2023-04-012023-06-30_us-gaap_AccumulatedOtherComprehensiveIncomeMember" id="xdx2ixbrl0651" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:Dividends" contextRef="From2023-04-012023-06-30_us-gaap_NoncontrollingInterestMember" id="xdx2ixbrl0653" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:NoncontrollingInterestIncreaseFromBusinessCombination" contextRef="From2023-04-012023-06-30_us-gaap_CommonStockMember" id="xdx2ixbrl0656" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:NoncontrollingInterestIncreaseFromBusinessCombination" contextRef="From2023-04-012023-06-30_custom_CapitalInExcessOfParValueMember" id="xdx2ixbrl0657" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:NoncontrollingInterestIncreaseFromBusinessCombination" contextRef="From2023-04-012023-06-30_us-gaap_RetainedEarningsMember" id="xdx2ixbrl0658" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:NoncontrollingInterestIncreaseFromBusinessCombination" contextRef="From2023-04-012023-06-30_us-gaap_AccumulatedOtherComprehensiveIncomeMember" id="xdx2ixbrl0659" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:NoncontrollingInterestIncreaseFromBusinessCombination" contextRef="From2023-04-012023-06-30_us-gaap_ParentMember" id="xdx2ixbrl0660" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders" contextRef="From2023-04-012023-06-30_us-gaap_CommonStockMember" id="xdx2ixbrl0664" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders" contextRef="From2023-04-012023-06-30_custom_CapitalInExcessOfParValueMember" id="xdx2ixbrl0665" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders" contextRef="From2023-04-012023-06-30_us-gaap_RetainedEarningsMember" id="xdx2ixbrl0666" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders" contextRef="From2023-04-012023-06-30_us-gaap_AccumulatedOtherComprehensiveIncomeMember" id="xdx2ixbrl0667" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders" contextRef="From2023-04-012023-06-30_us-gaap_ParentMember" id="xdx2ixbrl0668" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" contextRef="From2023-04-012023-06-30_us-gaap_CommonStockMember" id="xdx2ixbrl0672" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" contextRef="From2023-04-012023-06-30_us-gaap_RetainedEarningsMember" id="xdx2ixbrl0674" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" contextRef="From2023-04-012023-06-30_us-gaap_AccumulatedOtherComprehensiveIncomeMember" id="xdx2ixbrl0675" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" contextRef="From2023-04-012023-06-30_us-gaap_NoncontrollingInterestMember" id="xdx2ixbrl0677" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" contextRef="From2022-01-012022-03-31_us-gaap_CommonStockMember" id="xdx2ixbrl0700" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" contextRef="From2022-01-012022-03-31_custom_CapitalInExcessOfParValueMember" id="xdx2ixbrl0701" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" contextRef="From2022-01-012022-03-31_us-gaap_RetainedEarningsMember" id="xdx2ixbrl0702" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" contextRef="From2022-01-012022-03-31_us-gaap_NoncontrollingInterestMember" id="xdx2ixbrl0705" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:ProfitLoss" contextRef="From2022-01-012022-03-31_us-gaap_CommonStockMember" id="xdx2ixbrl0708" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:ProfitLoss" contextRef="From2022-01-012022-03-31_custom_CapitalInExcessOfParValueMember" id="xdx2ixbrl0709" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:ProfitLoss" contextRef="From2022-01-012022-03-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember" id="xdx2ixbrl0711" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueNewIssues" contextRef="From2022-01-012022-03-31_us-gaap_RetainedEarningsMember" id="xdx2ixbrl0718" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueNewIssues" contextRef="From2022-01-012022-03-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember" id="xdx2ixbrl0719" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueNewIssues" contextRef="From2022-01-012022-03-31_us-gaap_NoncontrollingInterestMember" id="xdx2ixbrl0721" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders" contextRef="From2022-01-012022-03-31_us-gaap_CommonStockMember" id="xdx2ixbrl0726" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders" contextRef="From2022-01-012022-03-31_custom_CapitalInExcessOfParValueMember" id="xdx2ixbrl0727" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders" contextRef="From2022-01-012022-03-31_us-gaap_RetainedEarningsMember" id="xdx2ixbrl0728" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders" contextRef="From2022-01-012022-03-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember" id="xdx2ixbrl0729" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders" contextRef="From2022-01-012022-03-31_us-gaap_ParentMember" id="xdx2ixbrl0730" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" contextRef="From2022-01-012022-03-31_us-gaap_CommonStockMember" id="xdx2ixbrl0734" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" contextRef="From2022-01-012022-03-31_us-gaap_RetainedEarningsMember" id="xdx2ixbrl0736" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" contextRef="From2022-01-012022-03-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember" id="xdx2ixbrl0737" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" contextRef="From2022-01-012022-03-31_us-gaap_NoncontrollingInterestMember" id="xdx2ixbrl0739" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" contextRef="From2022-04-012022-06-30_us-gaap_CommonStockMember" id="xdx2ixbrl0762" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" contextRef="From2022-04-012022-06-30_custom_CapitalInExcessOfParValueMember" id="xdx2ixbrl0763" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" contextRef="From2022-04-012022-06-30_us-gaap_RetainedEarningsMember" id="xdx2ixbrl0764" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" contextRef="From2022-04-012022-06-30_us-gaap_NoncontrollingInterestMember" id="xdx2ixbrl0767" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:ProfitLoss" contextRef="From2022-04-012022-06-30_us-gaap_CommonStockMember" id="xdx2ixbrl0770" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:ProfitLoss" contextRef="From2022-04-012022-06-30_custom_CapitalInExcessOfParValueMember" id="xdx2ixbrl0771" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:ProfitLoss" contextRef="From2022-04-012022-06-30_us-gaap_AccumulatedOtherComprehensiveIncomeMember" id="xdx2ixbrl0773" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueNewIssues" contextRef="From2022-04-012022-06-30_us-gaap_RetainedEarningsMember" id="xdx2ixbrl0780" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueNewIssues" contextRef="From2022-04-012022-06-30_us-gaap_AccumulatedOtherComprehensiveIncomeMember" id="xdx2ixbrl0781" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueNewIssues" contextRef="From2022-04-012022-06-30_us-gaap_NoncontrollingInterestMember" id="xdx2ixbrl0783" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders" contextRef="From2022-04-012022-06-30_us-gaap_CommonStockMember" id="xdx2ixbrl0788" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders" contextRef="From2022-04-012022-06-30_custom_CapitalInExcessOfParValueMember" id="xdx2ixbrl0789" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders" contextRef="From2022-04-012022-06-30_us-gaap_RetainedEarningsMember" id="xdx2ixbrl0790" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders" contextRef="From2022-04-012022-06-30_us-gaap_AccumulatedOtherComprehensiveIncomeMember" id="xdx2ixbrl0791" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders" contextRef="From2022-04-012022-06-30_us-gaap_ParentMember" id="xdx2ixbrl0792" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" contextRef="From2022-04-012022-06-30_us-gaap_CommonStockMember" id="xdx2ixbrl0796" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" contextRef="From2022-04-012022-06-30_us-gaap_RetainedEarningsMember" id="xdx2ixbrl0798" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" contextRef="From2022-04-012022-06-30_us-gaap_AccumulatedOtherComprehensiveIncomeMember" id="xdx2ixbrl0799" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" contextRef="From2022-04-012022-06-30_us-gaap_NoncontrollingInterestMember" id="xdx2ixbrl0801" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentNet" contextRef="AsOf2023-06-30_us-gaap_LeaseholdImprovementsMember" id="xdx2ixbrl1081" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentNet" contextRef="AsOf2023-06-30_us-gaap_DevelopedTechnologyRightsMember" id="xdx2ixbrl1084" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" contextRef="AsOf2023-06-30_us-gaap_LandMember" id="xdx2ixbrl1086" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentNet" contextRef="AsOf2022-12-31_us-gaap_LeaseholdImprovementsMember" id="xdx2ixbrl1117" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentNet" contextRef="AsOf2022-12-31_us-gaap_DevelopedTechnologyRightsMember" id="xdx2ixbrl1120" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" contextRef="AsOf2022-12-31_us-gaap_LandMember" id="xdx2ixbrl1122" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsNet" contextRef="AsOf2023-06-30" id="xdx2ixbrl1143" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsNet" contextRef="AsOf2022-12-31" id="xdx2ixbrl1149" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:AmortizationOfIntangibleAssets" contextRef="From2023-01-012023-06-30_us-gaap_PatentsMember418052750" id="xdx2ixbrl1151" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:EquityMethodInvestments" contextRef="AsOf2022-12-31_custom_EnpPeruInvestmentsLlcMember" id="xdx2ixbrl1252" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:ShortTermBorrowings" contextRef="AsOf2023-06-30_custom_NewAgreementMember_custom_NanoChemSolutionIncMember_custom_StockYardAndBankMember" id="xdx2ixbrl1327" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:ShortTermBorrowings" contextRef="AsOf2023-06-30_custom_NewAgreementMember_custom_NanoChemSolutionIncMember_custom_StockBankMember_us-gaap_RevolvingCreditFacilityMember" id="xdx2ixbrl1343" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:InterestExpenseDebt" contextRef="From2023-01-012023-06-30_custom_TermLoanMember_custom_MidlandBankMember_custom_NanoChemSolutionsIncMember" id="xdx2ixbrl1359" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:DebtDefaultLongtermDebtAmount" contextRef="AsOf2023-06-30_custom_MidlandBankMember_custom_NanoChemSolutionsIncMember" id="xdx2ixbrl1370" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:DebtDefaultLongtermDebtAmount" contextRef="AsOf2022-12-31_custom_MidlandBankMember_custom_NanoChemSolutionsIncMember" id="xdx2ixbrl1372" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:InterestExpenseDebt" contextRef="From2022-01-012022-06-30_custom_NanoChemMember_custom_TermLoanMember_custom_MidlandBankMember" id="xdx2ixbrl1387" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:InterestExpense" contextRef="From2022-01-012022-06-30_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPPeruOneMember" id="xdx2ixbrl1402" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:InterestExpenseDebt" contextRef="From2022-01-012022-06-30_custom_ENPPeruInvestmentsMember_custom_TermLoanMember_custom_MidlandBankMember" id="xdx2ixbrl1416" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:InterestExpenseDebt" contextRef="From2022-01-012022-06-30_custom_NanoChemMember_custom_TermLoanMember" id="xdx2ixbrl1428" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:InterestExpenseDebt" contextRef="From2023-01-012023-06-30_custom_MendotaMember_custom_TermLoanMember" id="xdx2ixbrl1436" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:InterestExpenseDebt" contextRef="From2022-01-012022-06-30_custom_MendotaMember_custom_TermLoanMember" id="xdx2ixbrl1438" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:DebtDefaultLongtermDebtAmount" contextRef="AsOf2022-12-31_custom_TermLoanMember_custom_MendotaMember" id="xdx2ixbrl1442" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="FSI:ProceedsFromLoanAcquiredFromAcquisition" contextRef="From2023-01-01to2023-06-30" id="xdx2ixbrl1455" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:LongTermDebt" contextRef="AsOf2023-06-30_custom_MidlandStatesBankMember" id="xdx2ixbrl1466" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:LongTermDebt" contextRef="AsOf2022-12-31_custom_MidlandStatesBankMember" id="xdx2ixbrl1467" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:LongTermDebt" contextRef="AsOf2023-06-30_custom_MidlandStatesBankOneMember" id="xdx2ixbrl1469" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:LongTermDebt" contextRef="AsOf2022-12-31_custom_MidlandStatesBankOneMember" id="xdx2ixbrl1470" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:LongTermDebt" contextRef="AsOf2022-12-31_custom_StockYardsBankTrustFiveMember" id="xdx2ixbrl1488" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised" contextRef="From2023-01-012023-06-30_custom_ConsultantMember" id="xdx2ixbrl1597" unitRef="Shares" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAggregateIntrinsicValue" contextRef="AsOf2023-06-30_us-gaap_CanadaRevenueAgencyMember" id="xdx2ixbrl1605" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAggregateIntrinsicValue" contextRef="AsOf2022-12-31_us-gaap_CanadaRevenueAgencyMember" id="xdx2ixbrl1607" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:MinorityInterest" contextRef="AsOf2022-12-31_custom_MendotaLLCMember_custom_OwnershipInterestPurchaseAgreementMember" id="xdx2ixbrl1661" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:InterestExpense" contextRef="From2023-04-012023-06-30_custom_EWCPMember_custom_SegmentMember" id="xdx2ixbrl1677" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" contextRef="From2023-04-012023-06-30_custom_EWCPMember_custom_SegmentMember" id="xdx2ixbrl1697" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:InterestExpense" contextRef="From2022-04-012022-06-30_custom_EWCPMember_custom_SegmentMember" id="xdx2ixbrl1705" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" contextRef="From2022-04-012022-06-30_custom_EWCPMember_custom_SegmentMember" id="xdx2ixbrl1725" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:InterestExpense" contextRef="From2023-01-012023-06-30_custom_EWCPMember_custom_SegmentMember" id="xdx2ixbrl1733" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" contextRef="From2023-01-012023-06-30_custom_EWCPMember_custom_SegmentMember" id="xdx2ixbrl1753" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:InterestExpense" contextRef="From2022-01-012022-06-30_custom_EWCPMember_custom_SegmentMember" id="xdx2ixbrl1761" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" contextRef="From2022-01-012022-06-30_custom_EWCPMember_custom_SegmentMember" id="xdx2ixbrl1781" unitRef="USD" xs:nil="true"></ix:nonFraction>
  </ix:hidden>
 <ix:references>
  <link:schemaRef xlink:href="fsi-20230630.xsd" xlink:type="simple" />
  </ix:references>
 <ix:resources>
    <xbrli:context id="From2023-01-01to2023-06-30">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-08-14">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-08-14</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-06-30">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-06-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-12-31">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-04-012023-06-30">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-04-01</xbrli:startDate>
        <xbrli:endDate>2023-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-04-012022-06-30">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-04-01</xbrli:startDate>
        <xbrli:endDate>2022-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-06-30">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2021-12-31">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2021-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-06-30">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-06-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-12-31_us-gaap_CommonStockMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-12-31_custom_CapitalInExcessOfParValueMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">FSI:CapitalInExcessOfParValueMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-12-31_us-gaap_RetainedEarningsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-12-31_us-gaap_ParentMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:ParentMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-12-31_us-gaap_NoncontrollingInterestMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-03-31_us-gaap_CommonStockMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-03-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-03-31_custom_CapitalInExcessOfParValueMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">FSI:CapitalInExcessOfParValueMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-03-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-03-31_us-gaap_RetainedEarningsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-03-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-03-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-03-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-03-31_us-gaap_ParentMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:ParentMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-03-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-03-31_us-gaap_NoncontrollingInterestMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-03-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-03-31">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-03-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">0001069394</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_custom_CapitalInExcessOfParValueMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">FSI:CapitalInExcessOfParValueMember</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">0001069394</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="AsOf2021-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</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_ParentMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:ParentMember</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_NoncontrollingInterestMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2021-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-03-31_us-gaap_CommonStockMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-03-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-03-31_custom_CapitalInExcessOfParValueMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">FSI:CapitalInExcessOfParValueMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-03-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-03-31_us-gaap_RetainedEarningsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-03-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-03-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-03-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-03-31_us-gaap_ParentMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:ParentMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-03-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-03-31_us-gaap_NoncontrollingInterestMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-03-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-03-31">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-03-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-03-31_us-gaap_CommonStockMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-03-31_custom_CapitalInExcessOfParValueMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">FSI:CapitalInExcessOfParValueMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-03-31_us-gaap_RetainedEarningsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-03-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-03-31_us-gaap_ParentMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:ParentMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-03-31_us-gaap_NoncontrollingInterestMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-03-31">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-04-012023-06-30_us-gaap_CommonStockMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-04-01</xbrli:startDate>
        <xbrli:endDate>2023-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-04-012023-06-30_custom_CapitalInExcessOfParValueMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">FSI:CapitalInExcessOfParValueMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-04-01</xbrli:startDate>
        <xbrli:endDate>2023-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-04-012023-06-30_us-gaap_RetainedEarningsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-04-01</xbrli:startDate>
        <xbrli:endDate>2023-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-04-012023-06-30_us-gaap_AccumulatedOtherComprehensiveIncomeMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-04-01</xbrli:startDate>
        <xbrli:endDate>2023-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-04-012023-06-30_us-gaap_ParentMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:ParentMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-04-01</xbrli:startDate>
        <xbrli:endDate>2023-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-04-012023-06-30_us-gaap_NoncontrollingInterestMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-04-01</xbrli:startDate>
        <xbrli:endDate>2023-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-03-31_us-gaap_CommonStockMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-03-31_custom_CapitalInExcessOfParValueMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">FSI:CapitalInExcessOfParValueMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-03-31_us-gaap_RetainedEarningsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-03-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-03-31_us-gaap_ParentMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:ParentMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-03-31_us-gaap_NoncontrollingInterestMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-03-31">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-04-012022-06-30_us-gaap_CommonStockMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-04-01</xbrli:startDate>
        <xbrli:endDate>2022-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-04-012022-06-30_custom_CapitalInExcessOfParValueMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">FSI:CapitalInExcessOfParValueMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-04-01</xbrli:startDate>
        <xbrli:endDate>2022-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-04-012022-06-30_us-gaap_RetainedEarningsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-04-01</xbrli:startDate>
        <xbrli:endDate>2022-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-04-012022-06-30_us-gaap_AccumulatedOtherComprehensiveIncomeMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-04-01</xbrli:startDate>
        <xbrli:endDate>2022-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-04-012022-06-30_us-gaap_ParentMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:ParentMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-04-01</xbrli:startDate>
        <xbrli:endDate>2022-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-04-012022-06-30_us-gaap_NoncontrollingInterestMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-04-01</xbrli:startDate>
        <xbrli:endDate>2022-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-06-30_us-gaap_CommonStockMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-06-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-06-30_custom_CapitalInExcessOfParValueMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">FSI:CapitalInExcessOfParValueMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-06-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-06-30_us-gaap_RetainedEarningsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-06-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-06-30_us-gaap_AccumulatedOtherComprehensiveIncomeMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-06-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-06-30_us-gaap_ParentMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:ParentMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-06-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-06-30_us-gaap_NoncontrollingInterestMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-06-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-06-30_us-gaap_CommonStockMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-06-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-06-30_custom_CapitalInExcessOfParValueMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">FSI:CapitalInExcessOfParValueMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-06-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-06-30_us-gaap_RetainedEarningsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-06-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-06-30_us-gaap_AccumulatedOtherComprehensiveIncomeMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-06-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-06-30_us-gaap_ParentMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:ParentMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-06-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-06-30_us-gaap_NoncontrollingInterestMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-06-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-06-30_custom_EnpPeruInvestmentsLlcMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:OwnershipAxis">FSI:EnpPeruInvestmentsLlcMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-06-30_custom_ENPInvestmentsLLCAndENPMendotaMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:OwnershipAxis">FSI:ENPInvestmentsLLCAndENPMendotaMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-12-31_custom_ENPPeruMember_custom_UnrelatedPartyMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:OwnershipAxis">FSI:ENPPeruMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:UnrelatedPartyMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-12-31_custom_ENPPeruMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:OwnershipAxis">FSI:ENPPeruMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-06-30_custom_ENPPeruMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:OwnershipAxis">FSI:ENPPeruMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-06-012023-06-30_custom_MendotaLLCMember_custom_UnrelatedPartyMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:OwnershipAxis">FSI:MendotaLLCMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:UnrelatedPartyMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-06-01</xbrli:startDate>
        <xbrli:endDate>2023-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-06-012023-06-30_custom_MendotaLLCMember_us-gaap_RelatedPartyMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:OwnershipAxis">FSI:MendotaLLCMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">us-gaap:RelatedPartyMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-06-01</xbrli:startDate>
        <xbrli:endDate>2023-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-06-30_us-gaap_ShippingAndHandlingMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ShippingAndHandlingMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-06-30_us-gaap_ShippingAndHandlingMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ShippingAndHandlingMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-06-30_custom_ThreePrimaryCustomersMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">FSI:ThreePrimaryCustomersMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-06-30_custom_ThreePrimaryCustomersMember_us-gaap_RevenueFromContractWithCustomerMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">FSI:ThreePrimaryCustomersMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:RevenueFromContractWithCustomerMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-06-30_custom_ThreePrimaryCustomersMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">FSI:ThreePrimaryCustomersMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-06-30_custom_ThreePrimaryCustomersMember_us-gaap_RevenueFromContractWithCustomerMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">FSI:ThreePrimaryCustomersMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:RevenueFromContractWithCustomerMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-04-012023-06-30_custom_ThreePrimaryCustomersMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">FSI:ThreePrimaryCustomersMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-04-01</xbrli:startDate>
        <xbrli:endDate>2023-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-04-012023-06-30_custom_ThreePrimaryCustomersMember_us-gaap_RevenueFromContractWithCustomerMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">FSI:ThreePrimaryCustomersMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:RevenueFromContractWithCustomerMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-04-01</xbrli:startDate>
        <xbrli:endDate>2023-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-04-012022-06-30_custom_ThreePrimaryCustomersMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">FSI:ThreePrimaryCustomersMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-04-01</xbrli:startDate>
        <xbrli:endDate>2022-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-04-012022-06-30_custom_ThreePrimaryCustomersMember_us-gaap_RevenueFromContractWithCustomerMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">FSI:ThreePrimaryCustomersMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:RevenueFromContractWithCustomerMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-04-01</xbrli:startDate>
        <xbrli:endDate>2022-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-06-30_custom_ThreePrimaryCustomersMember_us-gaap_AccountsReceivableMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">FSI:ThreePrimaryCustomersMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-06-30_custom_ThreePrimaryCustomersMember_us-gaap_AccountsReceivableMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">FSI:ThreePrimaryCustomersMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-04-012023-06-30_custom_ThreePrimaryCustomersMember_us-gaap_AccountsReceivableMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">FSI:ThreePrimaryCustomersMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-04-01</xbrli:startDate>
        <xbrli:endDate>2023-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-04-012022-06-30_custom_ThreePrimaryCustomersMember_us-gaap_AccountsReceivableMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">FSI:ThreePrimaryCustomersMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-04-01</xbrli:startDate>
        <xbrli:endDate>2022-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-12-31_custom_ThreePrimaryCustomersMember_us-gaap_AccountsReceivableMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">FSI:ThreePrimaryCustomersMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-06-30_custom_InvestmentMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">FSI:InvestmentMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-06-30_us-gaap_ComputerEquipmentMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ComputerEquipmentMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-06-30_us-gaap_MachineryAndEquipmentMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:MachineryAndEquipmentMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-06-30_us-gaap_OfficeEquipmentMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:OfficeEquipmentMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-06-30_custom_BoatMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">FSI:BoatMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-06-30_us-gaap_BuildingAndBuildingImprovementsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:BuildingAndBuildingImprovementsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-06-30_custom_TrailerMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">FSI:TrailerMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-06-30_us-gaap_AutomobilesMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:AutomobilesMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-06-30_us-gaap_PatentsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:PatentsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-06-30_us-gaap_TechnologyEquipmentMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:TechnologyEquipmentMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-06-30_us-gaap_LeaseholdImprovementsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LeaseholdImprovementsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-06-30_us-gaap_CustomerRelationshipsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-06-30_custom_SoftwareMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">FSI:SoftwareMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-12-31">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-06-30_us-gaap_BuildingAndBuildingImprovementsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:BuildingAndBuildingImprovementsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-06-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-06-30_us-gaap_AutomobilesMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:AutomobilesMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-06-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-06-30_us-gaap_ComputerEquipmentMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ComputerEquipmentMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-06-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-06-30_us-gaap_OfficeEquipmentMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:OfficeEquipmentMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-06-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-06-30_us-gaap_MachineryAndEquipmentMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:MachineryAndEquipmentMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-06-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-06-30_custom_TrailerMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">FSI:TrailerMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-06-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-06-30_custom_BoatMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">FSI:BoatMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-06-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-06-30_us-gaap_LeaseholdImprovementsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LeaseholdImprovementsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-06-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-06-30_us-gaap_DevelopedTechnologyRightsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:DevelopedTechnologyRightsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-06-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-06-30_us-gaap_LandMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LandMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-06-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-12-31_us-gaap_BuildingAndBuildingImprovementsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:BuildingAndBuildingImprovementsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-12-31_us-gaap_AutomobilesMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:AutomobilesMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-12-31_us-gaap_ComputerEquipmentMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ComputerEquipmentMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-12-31_us-gaap_OfficeEquipmentMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:OfficeEquipmentMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-12-31_us-gaap_MachineryAndEquipmentMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:MachineryAndEquipmentMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-12-31_custom_TrailerMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">FSI:TrailerMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-12-31_custom_BoatMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">FSI:BoatMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-12-31_us-gaap_LeaseholdImprovementsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LeaseholdImprovementsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-12-31_us-gaap_DevelopedTechnologyRightsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:DevelopedTechnologyRightsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-12-31_us-gaap_LandMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LandMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-06-30_us-gaap_PatentsMember418052750">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:PatentsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-06-30_us-gaap_PatentsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:PatentsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2021-12-31_custom_EnPInvestmentsCorporationLLCMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:EnPInvestmentsCorporationLLCMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2021-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-12-31_custom_EnPInvestmentsCorporationLLCMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:EnPInvestmentsCorporationLLCMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-12-31_custom_EnPInvestmentsCorporationLLCMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:EnPInvestmentsCorporationLLCMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-06-30_custom_EnPInvestmentsCorporationLLCMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:EnPInvestmentsCorporationLLCMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-06-30_custom_EnPInvestmentsCorporationLLCMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:EnPInvestmentsCorporationLLCMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-06-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-06-30_us-gaap_FiniteLivedIntangibleAssetsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:FairValueByAssetClassAxis">us-gaap:FiniteLivedIntangibleAssetsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-06-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2016-12-31_custom_EnpPeruInvestmentsLlcMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">FSI:EnpPeruInvestmentsLlcMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2016-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2016-12-31_custom_NanoChemMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">FSI:NanoChemMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2016-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2016-12-31_custom_ENPInvestmentsLLCMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">FSI:ENPInvestmentsLLCMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2016-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-06-30_custom_NanoChemMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">FSI:NanoChemMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-06-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-06-012022-06-30_custom_ENPPeruMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:OwnershipAxis">FSI:ENPPeruMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-06-01</xbrli:startDate>
        <xbrli:endDate>2022-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-06-30_custom_ENPPeruMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:OwnershipAxis">FSI:ENPPeruMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-06-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-06-30_custom_EnpnvestmentsLlcMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:OwnershipAxis">FSI:EnpnvestmentsLlcMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-06-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-06-30_custom_ENPInvestmentsLLCMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">FSI:ENPInvestmentsLLCMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-06-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2018-12-01_custom_AppliedHoldingCorpMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:AppliedHoldingCorpMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2018-12-01</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2021-01-012021-12-31">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</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="AsOf2018-12-01_custom_TrioOpportunityCorpMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:TrioOpportunityCorpMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2018-12-01</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-04-30_custom_TrioOpportunityCorpMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:TrioOpportunityCorpMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-04-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2018-12-012018-12-31_us-gaap_CommonClassBMember_custom_TrioOpportunityCorpMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassBMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:TrioOpportunityCorpMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2018-12-01</xbrli:startDate>
        <xbrli:endDate>2018-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2018-12-31_us-gaap_CommonClassBMember_custom_TrioOpportunityCorpMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassBMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:TrioOpportunityCorpMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2018-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2019-01-31_custom_FloridaBasedLLCMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">FSI:FloridaBasedLLCMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2019-01-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-06-30_custom_FloridaBasedLLCMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:FloridaBasedLLCMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-06-30_custom_FloridaBasedLLCMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:FloridaBasedLLCMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-06-30_custom_FloridaBasedLLCMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:FloridaBasedLLCMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-06-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-12-31_custom_FloridaBasedLLCMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:FloridaBasedLLCMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2020-12-012020-12-31_custom_LygosIncMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:LygosIncMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2020-12-01</xbrli:startDate>
        <xbrli:endDate>2020-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2021-01-012021-12-31_custom_LygosIncMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:LygosIncMember</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_LygosIncMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:LygosIncMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2021-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-06-30_custom_EnpPeruInvestmentsLlcMember418055859">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:EnpPeruInvestmentsLlcMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2021-12-31_custom_EnpPeruInvestmentsLlcMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:EnpPeruInvestmentsLlcMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2021-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-12-31_custom_EnpPeruInvestmentsLlcMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:EnpPeruInvestmentsLlcMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-12-31_custom_EnpPeruInvestmentsLlcMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:EnpPeruInvestmentsLlcMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2021-12-31_custom_FloridaBasedLLCMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:FloridaBasedLLCMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2021-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-12-31_custom_FloridaBasedLLCMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:FloridaBasedLLCMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-06-30_custom_StockYardAndBankMember_custom_MidlandStatesBankMember_custom_NewAgreementMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">FSI:StockYardAndBankMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandStatesBankMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">FSI:NewAgreementMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-06-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-06-012023-06-30_custom_StockYardAndBankMember_custom_MidlandStatesBankMember_custom_NewAgreementMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">FSI:StockYardAndBankMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandStatesBankMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">FSI:NewAgreementMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-06-01</xbrli:startDate>
        <xbrli:endDate>2023-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-12-31_custom_StockYardAndBankMember_custom_MidlandStatesBankMember_custom_NewAgreementMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">FSI:StockYardAndBankMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandStatesBankMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">FSI:NewAgreementMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-06-30_custom_NewAgreementMember_custom_NanoChemSolutionIncMember_custom_StockYardAndBankMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">FSI:NewAgreementMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:NanoChemSolutionIncMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">FSI:StockYardAndBankMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-06-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-06-30_custom_NanoChemSolutionIncMember_custom_StockYardAndBankMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:NanoChemSolutionIncMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">FSI:StockYardAndBankMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-06-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-12-31_custom_NewAgreementMember_custom_NanoChemSolutionIncMember_custom_StockYardAndBankMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">FSI:NewAgreementMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:NanoChemSolutionIncMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">FSI:StockYardAndBankMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-06-30_custom_StockBankMember_custom_MidlandStatesBankMember_custom_NewAgreementMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">FSI:StockBankMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandStatesBankMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">FSI:NewAgreementMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-06-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-06-012023-06-30_custom_StockBankMember_custom_MidlandStatesBankMember_custom_NewAgreementMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">FSI:StockBankMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandStatesBankMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">FSI:NewAgreementMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-06-01</xbrli:startDate>
        <xbrli:endDate>2023-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-12-31_custom_StockBankMember_custom_MidlandStatesBankMember_custom_NewAgreementMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">FSI:StockBankMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandStatesBankMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">FSI:NewAgreementMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-06-30_custom_NewAgreementMember_custom_NanoChemSolutionIncMember_custom_StockBankMember_us-gaap_RevolvingCreditFacilityMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">FSI:NewAgreementMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:NanoChemSolutionIncMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">FSI:StockBankMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-06-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-12-31_custom_NewAgreementMember_custom_NanoChemSolutionIncMember_custom_StockBankMember_us-gaap_RevolvingCreditFacilityMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">FSI:NewAgreementMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:NanoChemSolutionIncMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">FSI:StockBankMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2020-10-31_custom_TermLoanMember_custom_MidlandBankMember_custom_NanoChemSolutionsIncMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:NanoChemSolutionsIncMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2020-10-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2020-10-31_custom_TermLoanMember_custom_MidlandBankMember_us-gaap_PrimeRateMember_custom_NanoChemSolutionsIncMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:PrimeRateMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:NanoChemSolutionsIncMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2020-10-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2020-10-012020-10-31_custom_TermLoanMember_custom_MidlandBankMember_custom_NanoChemSolutionsIncMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:NanoChemSolutionsIncMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2020-10-01</xbrli:startDate>
        <xbrli:endDate>2020-10-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-03-31_custom_TermLoanMember_custom_MidlandBankMember_custom_NanoChemSolutionsIncMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:NanoChemSolutionsIncMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-06-30_custom_TermLoanMember_custom_MidlandBankMember_custom_NanoChemSolutionsIncMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:NanoChemSolutionsIncMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2020-10-31_custom_MidlandBankMember_custom_NanoChemSolutionsIncMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:NanoChemSolutionsIncMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2020-10-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2020-10-31_custom_MidlandBankMember_us-gaap_PrimeRateMember_custom_NanoChemSolutionsIncMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:PrimeRateMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:NanoChemSolutionsIncMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2020-10-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2020-10-012020-10-31_custom_MidlandBankMember_custom_NanoChemSolutionsIncMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:NanoChemSolutionsIncMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2020-10-01</xbrli:startDate>
        <xbrli:endDate>2020-10-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-03-31_custom_NanoChemSolutionsIncMember_custom_MidlandBankMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:NanoChemSolutionsIncMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-06-30_custom_MidlandBankMember_custom_NanoChemSolutionsIncMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:NanoChemSolutionsIncMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-06-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-12-31_custom_MidlandBankMember_custom_NanoChemSolutionsIncMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:NanoChemSolutionsIncMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2020-01-31_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPMendotaMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:ENPMendotaMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2020-01-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2020-01-012020-01-31_custom_StockYardsBankTrustMember_custom_EnpRealtyLLCMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:StockYardsBankTrustMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:EnpRealtyLLCMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2020-01-01</xbrli:startDate>
        <xbrli:endDate>2020-01-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2020-01-31_custom_StockYardsBankTrustMember_us-gaap_PrimeRateMember_custom_EnpRealtyLLCMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:StockYardsBankTrustMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:PrimeRateMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:EnpRealtyLLCMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2020-01-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2020-01-012020-01-31_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPMendotaMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:ENPMendotaMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2020-01-01</xbrli:startDate>
        <xbrli:endDate>2020-01-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-06-30_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPMendotaMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:ENPMendotaMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-12-31_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPMendotaMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:ENPMendotaMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-06-30_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPMendotaMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:ENPMendotaMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-06-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-12-31_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPMendotaMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:ENPMendotaMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-06-30_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPMendotaMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:ENPMendotaMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-06-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-06-30_custom_NanoChemMember_custom_TermLoanMember_custom_MidlandBankMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:NanoChemMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-06-30_custom_NanoChemMember_custom_TermLoanMember_custom_MidlandBankMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:NanoChemMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-06-30_custom_TermLoanMember_custom_MidlandBankMember_custom_NanoChemMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:NanoChemMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-06-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-12-31_custom_TermLoanMember_custom_MidlandBankMember_custom_NanoChemMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:NanoChemMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2020-01-31_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPPeruOneMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:ENPPeruOneMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2020-01-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2020-01-31_custom_TermLoanMember_custom_MidlandBankMember_us-gaap_PrimeRateMember_custom_ENPPeruOneMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:PrimeRateMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:ENPPeruOneMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2020-01-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2020-01-012020-01-31_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPPeruOneMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:ENPPeruOneMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2020-01-01</xbrli:startDate>
        <xbrli:endDate>2020-01-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-06-30_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPPeruOneMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:ENPPeruOneMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-06-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-06-30_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPPeruOneMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:ENPPeruOneMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-06-30_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPPeruOneMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:ENPPeruOneMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-06-30_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPPeruOneMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:ENPPeruOneMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-06-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-12-31_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPPeruOneMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:ENPPeruOneMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-06-30_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPPeruInvestmentsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:ENPPeruInvestmentsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-06-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-06-012022-06-30_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPPeruInvestmentsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:ENPPeruInvestmentsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-06-01</xbrli:startDate>
        <xbrli:endDate>2022-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-06-30_custom_TermLoanMember_custom_MidlandBankMember_us-gaap_PrimeRateMember_custom_ENPPeruInvestmentsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:PrimeRateMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:ENPPeruInvestmentsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-06-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-06-30_custom_ENPPeruInvestmentsMember_custom_TermLoanMember_custom_MidlandBankMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:ENPPeruInvestmentsMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-06-30_custom_ENPPeruInvestmentsMember_custom_TermLoanMember_custom_MidlandBankMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:ENPPeruInvestmentsMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-06-30_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPPeruInvestmentsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:ENPPeruInvestmentsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-06-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-12-31_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPPeruInvestmentsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:ENPPeruInvestmentsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-12-31_custom_TermLoanMember_custom_NanoChemMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:NanoChemMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-12-31_custom_TermLoanMember_us-gaap_PrimeRateMember_custom_NanoChemMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:PrimeRateMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:NanoChemMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-06-30_custom_NanoChemMember_custom_TermLoanMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:NanoChemMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-06-30_custom_NanoChemMember_custom_TermLoanMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:NanoChemMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-06-30_custom_TermLoanMember_custom_NanoChemMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:NanoChemMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-06-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-06-30_custom_TermLoanMember_custom_MendotaMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:MendotaMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-06-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-06-30_custom_MendotaMember_custom_TermLoanMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:MendotaMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-06-30_custom_MendotaMember_custom_TermLoanMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:MendotaMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-12-31_custom_TermLoanMember_custom_MendotaMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:MendotaMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-06-30_custom_MidlandStatesBankMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandStatesBankMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-06-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-12-31_custom_MidlandStatesBankMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandStatesBankMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-06-30_custom_MidlandStatesBankOneMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandStatesBankOneMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-06-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-12-31_custom_MidlandStatesBankOneMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandStatesBankOneMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-06-30_custom_StockYardsBankTrustMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:StockYardsBankTrustMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-06-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-12-31_custom_StockYardsBankTrustMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:StockYardsBankTrustMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-06-30_custom_StockYardsBankTrustOneMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:StockYardsBankTrustOneMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-06-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-12-31_custom_StockYardsBankTrustOneMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:StockYardsBankTrustOneMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-06-30_custom_StockYardsBankTrustTwoMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:StockYardsBankTrustTwoMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-06-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-12-31_custom_StockYardsBankTrustTwoMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:StockYardsBankTrustTwoMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-06-30_custom_StockYardsBankTrustThreeMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:StockYardsBankTrustThreeMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-06-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-12-31_custom_StockYardsBankTrustThreeMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:StockYardsBankTrustThreeMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-06-30_custom_StockYardsBankTrustFourMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:StockYardsBankTrustFourMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-06-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-12-31_custom_StockYardsBankTrustFourMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:StockYardsBankTrustFourMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-06-30_custom_StockYardsBankTrustFiveMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:StockYardsBankTrustFiveMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-06-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-12-31_custom_StockYardsBankTrustFiveMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:StockYardsBankTrustFiveMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-06-30_custom_ConsultantsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">FSI:ConsultantsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-06-30_custom_ConsultantsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">FSI:ConsultantsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-06-30_custom_EmployeesMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">FSI:EmployeesMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-06-30_custom_EmployeesMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">FSI:EmployeesMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-06-30_custom_ConsultantMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">FSI:ConsultantMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-06-30_us-gaap_CanadaRevenueAgencyMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityNameAxis">us-gaap:CanadaRevenueAgencyMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-06-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-12-31_us-gaap_CanadaRevenueAgencyMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityNameAxis">us-gaap:CanadaRevenueAgencyMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2021-12-31_srt_MinimumMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</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_srt_MaximumMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2021-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-12-31_srt_MinimumMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-12-31_srt_MaximumMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-12-31_srt_MinimumMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-12-31_srt_MaximumMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-06-30_srt_MinimumMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-06-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-06-30_srt_MaximumMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-06-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-06-30_custom_EmployeeMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">FSI:EmployeeMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-06-30_custom_EmployeeMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">FSI:EmployeeMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-06-30_custom_ENPInvestmentsLLCMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:OwnershipAxis">FSI:ENPInvestmentsLLCMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-06-30_custom_ENPInvestmentsLLCMember418066937">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:OwnershipAxis">FSI:ENPInvestmentsLLCMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-06-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-06-30_custom_ENPInvestmentsLLCMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:OwnershipAxis">FSI:ENPInvestmentsLLCMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-12-31_custom_ENPInvestmentsLLCMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:OwnershipAxis">FSI:ENPInvestmentsLLCMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-06-30_custom_MendotaLLCMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:OwnershipAxis">FSI:MendotaLLCMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-06-30_custom_MendotaLLCMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:OwnershipAxis">FSI:MendotaLLCMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-06-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2021-12-31_custom_ENPInvestmentsLLCMember_custom_OwnershipInterestPurchaseAgreementMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:OwnershipAxis">FSI:ENPInvestmentsLLCMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">FSI:OwnershipInterestPurchaseAgreementMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2021-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-12-31_custom_ENPInvestmentsLLCMember_custom_OwnershipInterestPurchaseAgreementMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:OwnershipAxis">FSI:ENPInvestmentsLLCMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">FSI:OwnershipInterestPurchaseAgreementMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-12-31_custom_ENPInvestmentsLLCMember_custom_OwnershipInterestPurchaseAgreementMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:OwnershipAxis">FSI:ENPInvestmentsLLCMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">FSI:OwnershipInterestPurchaseAgreementMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-06-30_custom_ENPInvestmentsLLCMember_custom_OwnershipInterestPurchaseAgreementMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:OwnershipAxis">FSI:ENPInvestmentsLLCMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">FSI:OwnershipInterestPurchaseAgreementMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-06-30_custom_ENPInvestmentsLLCMember_custom_OwnershipInterestPurchaseAgreementMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:OwnershipAxis">FSI:ENPInvestmentsLLCMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">FSI:OwnershipInterestPurchaseAgreementMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-06-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-12-31_custom_MendotaLLCMember_custom_OwnershipInterestPurchaseAgreementMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:OwnershipAxis">FSI:MendotaLLCMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">FSI:OwnershipInterestPurchaseAgreementMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-06-30_custom_MendotaLLCMember_custom_OwnershipInterestPurchaseAgreementMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:OwnershipAxis">FSI:MendotaLLCMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">FSI:OwnershipInterestPurchaseAgreementMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-06-30_custom_MendotaLLCMember_custom_OwnershipInterestPurchaseAgreementMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:OwnershipAxis">FSI:MendotaLLCMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">FSI:OwnershipInterestPurchaseAgreementMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-06-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-06-30_us-gaap_AccountsReceivableMember_custom_ThreeCustomersMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">FSI:ThreeCustomersMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-06-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-06-30_custom_ThreeCustomersMember_us-gaap_AccountsReceivableMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">FSI:ThreeCustomersMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-06-30_us-gaap_AccountsReceivableMember_custom_ThreeCustomersMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">FSI:ThreeCustomersMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-06-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-06-30_custom_ThreeCustomersMember_us-gaap_AccountsReceivableMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">FSI:ThreeCustomersMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-04-012023-06-30_custom_EWCPMember_custom_SegmentMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">FSI:EWCPMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">FSI:SegmentMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-04-01</xbrli:startDate>
        <xbrli:endDate>2023-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-04-012023-06-30_custom_TPAMember_custom_SegmentMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">FSI:TPAMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">FSI:SegmentMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-04-01</xbrli:startDate>
        <xbrli:endDate>2023-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-04-012023-06-30_custom_SegmentMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">FSI:SegmentMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-04-01</xbrli:startDate>
        <xbrli:endDate>2023-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-04-012022-06-30_custom_EWCPMember_custom_SegmentMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">FSI:EWCPMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">FSI:SegmentMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-04-01</xbrli:startDate>
        <xbrli:endDate>2022-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-04-012022-06-30_custom_TPAMember_custom_SegmentMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">FSI:TPAMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">FSI:SegmentMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-04-01</xbrli:startDate>
        <xbrli:endDate>2022-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-04-012022-06-30_custom_SegmentMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">FSI:SegmentMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-04-01</xbrli:startDate>
        <xbrli:endDate>2022-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-06-30_custom_EWCPMember_custom_SegmentMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">FSI:EWCPMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">FSI:SegmentMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-06-30_custom_TPAMember_custom_SegmentMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">FSI:TPAMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">FSI:SegmentMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-06-30_custom_SegmentMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">FSI:SegmentMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-06-30_custom_EWCPMember_custom_SegmentMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">FSI:EWCPMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">FSI:SegmentMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-06-30_custom_TPAMember_custom_SegmentMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">FSI:TPAMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">FSI:SegmentMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-06-30_custom_SegmentMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">FSI:SegmentMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-06-30_country_CA">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CA</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-06-30_country_CA">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CA</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-06-30_custom_UnitedStatesandAbroadMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">FSI:UnitedStatesandAbroadMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-06-30_custom_UnitedStatesandAbroadMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">FSI:UnitedStatesandAbroadMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-06-30_country_CA">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CA</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-06-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-12-31_country_CA">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CA</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-06-30_country_US">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-06-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-12-31_country_US">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-12-31</xbrli:instant>
      </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="Segments">
      <xbrli:measure>FSI:Segments</xbrli:measure>
    </xbrli:unit>
    <xbrli:unit id="CAD">
      <xbrli:measure>iso4217:CAD</xbrli:measure>
    </xbrli:unit>
    <xbrli:unit id="sqft">
      <xbrli:measure>utr:sqft</xbrli:measure>
    </xbrli:unit>
  </ix:resources>
 </ix:header>
</div>


<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: center"></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: 0pt 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: 0pt 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: 0pt 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: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 12pt"><b>Washington,
DC 20549</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 18pt"><b>FORM
<span id="xdx_903_edei--DocumentType_c20230101__20230630_zSp70eseKMPb"><ix:nonNumeric contextRef="From2023-01-01to2023-06-30" name="dei:DocumentType">10-Q</ix:nonNumeric></span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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%; 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"><span id="xdx_905_edei--DocumentQuarterlyReport_c20230101__20230630_z3IoM0TbEyui"><ix:nonNumeric contextRef="From2023-01-01to2023-06-30" format="ixt:booleantrue" name="dei:DocumentQuarterlyReport">&#9746;</ix:nonNumeric></span></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">QUARTERLY
    REPORT PURSUANT TO SECTION 13 OR 15(d) OF THE SECURITIES EXCHANGE ACT OF 1934</span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">For
the quarterly period ended <span id="xdx_906_edei--DocumentPeriodEndDate_c20230101__20230630_zV80QVJatQ0i"><ix:nonNumeric contextRef="From2023-01-01to2023-06-30" format="ixt:datemonthdayyearen" name="dei:DocumentPeriodEndDate">June 30, <span id="xdx_900_edei--DocumentFiscalYearFocus_c20230101__20230630_zQC7QVcTaHV4"><ix:nonNumeric contextRef="From2023-01-01to2023-06-30" name="dei:DocumentFiscalYearFocus">2023</ix:nonNumeric></span></ix:nonNumeric></span></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 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; 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%; 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"><span id="xdx_907_edei--DocumentTransitionReport_c20230101__20230630_zOP8K3tWN2Q4"><ix:nonNumeric contextRef="From2023-01-01to2023-06-30" format="ixt:booleanfalse" name="dei:DocumentTransitionReport">&#9744;</ix:nonNumeric></span></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">TRANSITION
    REPORT PURSUANT TO 13 OR 15(D) OF THE SECURITIES EXCHANGE ACT OF 1934</span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; 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: 0pt 0; text-align: justify; text-indent: 0.25in"><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; 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: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Commission
File Number: <span id="xdx_904_edei--EntityFileNumber_c20230101__20230630_zMQNL8zjqtJ1"><ix:nonNumeric contextRef="From2023-01-01to2023-06-30" name="dei:EntityFileNumber">001-31540</ix:nonNumeric></span></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 18pt"><b><span style="text-decoration: underline"><span id="xdx_904_edei--EntityRegistrantName_c20230101__20230630_zoXl5oeiCiol"><ix:nonNumeric contextRef="From2023-01-01to2023-06-30" name="dei:EntityRegistrantName">FLEXIBLE
SOLUTIONS INTERNATIONAL INC.</ix:nonNumeric></span></span></b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0pt; margin-bottom: 0pt"><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; vertical-align: bottom; font: 10pt Times New Roman, Times, Serif; text-align: center; width: 49%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_90B_edei--EntityIncorporationStateCountryCode_dxL_c20230101__20230630_zPO3846honFh" title="::XDX::A0%09"><span style="-sec-ix-hidden: xdx2ixbrl0022">Alberta</span></span></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; padding-bottom: 1.5pt; text-align: center; 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; vertical-align: bottom; font: 10pt Times New Roman, Times, Serif; text-align: center; width: 49%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_90E_edei--EntityTaxIdentificationNumber_c20230101__20230630_zPkLefYkdsee"><ix:nonNumeric contextRef="From2023-01-01to2023-06-30" name="dei:EntityTaxIdentificationNumber">71-1630889</ix:nonNumeric></span></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">(State
    or other jurisdiction </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">(Employer</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">of
    incorporation or organization)</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">Identification
    No.)</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">&#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></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <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"><span id="xdx_906_edei--EntityAddressAddressLine1_c20230101__20230630_zyM1fdFvTkM6"><ix:nonNumeric contextRef="From2023-01-01to2023-06-30" name="dei:EntityAddressAddressLine1">6001
    54 Ave.</ix:nonNumeric></span></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>
    <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; vertical-align: top">
    <td style="border-bottom: Black 1.5pt solid; vertical-align: bottom; 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--EntityAddressCityOrTown_c20230101__20230630_zhWwq4LYjxce"><ix:nonNumeric contextRef="From2023-01-01to2023-06-30" name="dei:EntityAddressCityOrTown">Taber</ix:nonNumeric></span>,
    <span id="xdx_901_edei--EntityAddressStateOrProvince_c20230101__20230630_z2bVtNEFr2u4"><ix:nonNumeric contextRef="From2023-01-01to2023-06-30" format="ixt-sec:stateprovnameen" name="dei:EntityAddressStateOrProvince">Alberta</ix:nonNumeric></span>, <span id="xdx_904_edei--EntityAddressCountry_c20230101__20230630_z0Tcovbl55Yf"><ix:nonNumeric contextRef="From2023-01-01to2023-06-30" format="ixt-sec:countrynameen" name="dei:EntityAddressCountry">Canada</ix:nonNumeric></span></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; padding-bottom: 1.5pt; 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; vertical-align: bottom; font: 10pt Times New Roman, Times, Serif; padding-bottom: 1.5pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_909_edei--EntityAddressPostalZipCode_c20230101__20230630_zmZTgMvQdyt6"><ix:nonNumeric contextRef="From2023-01-01to2023-06-30" name="dei:EntityAddressPostalZipCode">T1G
    1X4</ix:nonNumeric></span></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">(Address
    of Issuer&#8217;s Principal Executive Offices)</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">(Zip
    Code)</span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; 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: 0pt 0; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Issuer&#8217;s
telephone number: <span id="xdx_902_edei--CityAreaCode_c20230101__20230630_zKYZMn2NRSK3"><ix:nonNumeric contextRef="From2023-01-01to2023-06-30" name="dei:CityAreaCode">(403)</ix:nonNumeric></span> <span id="xdx_901_edei--LocalPhoneNumber_c20230101__20230630_z5ckc5m3e0j1"><ix:nonNumeric contextRef="From2023-01-01to2023-06-30" name="dei:LocalPhoneNumber">223-2995</ix:nonNumeric></span></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">N/A</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(Former
name, former address and former fiscal year, if changed since last report)</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; 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: 0pt 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; text-align: center; margin-top: 0pt; margin-bottom: 0pt"><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; vertical-align: bottom; font: 10pt Times New Roman, Times, Serif; text-align: center; width: 32%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Title
    of each class</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; padding-bottom: 1.5pt; text-align: center; 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; vertical-align: bottom; font: 10pt Times New Roman, Times, Serif; text-align: center; width: 20%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Trading
    Symbol(s)</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; padding-bottom: 1.5pt; text-align: center; 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; vertical-align: bottom; font: 10pt Times New Roman, Times, Serif; text-align: center; width: 44%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Name
    of each exchange on which registered</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_907_edei--Security12bTitle_c20230101__20230630_zMXFrK4B6lFj"><ix:nonNumeric contextRef="From2023-01-01to2023-06-30" 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_90C_edei--TradingSymbol_c20230101__20230630_zIwPaUSWf2wl"><ix:nonNumeric contextRef="From2023-01-01to2023-06-30" name="dei:TradingSymbol">FSI</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_907_edei--SecurityExchangeName_c20230101__20230630_zA8in5ZWskph"><ix:nonNumeric contextRef="From2023-01-01to2023-06-30" format="ixt-sec:exchnameen" name="dei:SecurityExchangeName">NYSE</ix:nonNumeric></span>
    American</span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 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; No &#9746;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 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 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 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_90F_edei--EntityCurrentReportingStatus_c20230101__20230630_z9T4Yqw0icca"><ix:nonNumeric contextRef="From2023-01-01to2023-06-30" name="dei:EntityCurrentReportingStatus">Yes</ix:nonNumeric></span> &#9746; No &#9744;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 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 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 for such shorter period that the registrant
was required to submit and post such files). <span id="xdx_90D_edei--EntityInteractiveDataCurrent_c20230101__20230630_zpv2W9F4Q5J3"><ix:nonNumeric contextRef="From2023-01-01to2023-06-30" name="dei:EntityInteractiveDataCurrent">Yes</ix:nonNumeric></span> &#9746; No &#9744;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 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 the 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: 0pt 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: 50%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Large
    accelerated filer &#9744;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 50%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Accelerated
    filer &#9744;</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></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"><span id="xdx_90C_edei--EntityFilerCategory_c20230101__20230630_zlc90CTsodSd"><ix:nonNumeric contextRef="From2023-01-01to2023-06-30" format="ixt-sec:entityfilercategoryen" name="dei:EntityFilerCategory">Non-accelerated
    filer</ix:nonNumeric></span> &#9746;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Smaller
    reporting company <span id="xdx_906_edei--EntitySmallBusiness_c20230101__20230630_zE3HSHYDD8X6"><ix:nonNumeric contextRef="From2023-01-01to2023-06-30" format="ixt:booleantrue" name="dei:EntitySmallBusiness">&#9746;</ix:nonNumeric></span></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">Emerging
    growth company <span id="xdx_90E_edei--EntityEmergingGrowthCompany_c20230101__20230630_zqQwGY9t8G8b"><ix:nonNumeric contextRef="From2023-01-01to2023-06-30" format="ixt:booleanfalse" name="dei:EntityEmergingGrowthCompany">&#9744;</ix:nonNumeric></span></span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 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. &#9744;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 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 Exchange Act): &#9744; Yes &#9746; <span id="xdx_901_edei--EntityShellCompany_c20230101__20230630_zL5z0sxLhW5e"><ix:nonNumeric contextRef="From2023-01-01to2023-06-30" format="ixt:booleanfalse" name="dei:EntityShellCompany">No</ix:nonNumeric></span></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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="border-bottom: Black 1.5pt solid; font: 10pt Times New Roman, Times, Serif; text-align: center; width: 32%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Class
    of Stock</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1.5pt; text-align: center; 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; text-align: center; width: 32%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">No.
    Shares Outstanding</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1.5pt; text-align: center; 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; text-align: center; width: 32%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Date
    </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">Common</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_906_edei--EntityCommonStockSharesOutstanding_iI_pid_c20230814_z2wUWtEMpWAd"><ix:nonFraction name="dei:EntityCommonStockSharesOutstanding" contextRef="AsOf2023-08-14" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">12,435,532</ix:nonFraction></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">August
    14, 2023</span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; 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: 0pt 0; text-align: justify"><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; text-align: center"><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; text-align: center; margin-top: 0pt; margin-bottom: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt; text-transform: uppercase"><b>FORM
10-Q</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Index</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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%; border-collapse: collapse">
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>PART
    I.</b></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><a href="#a_001">FINANCIAL INFORMATION</a></b></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; 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">&#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">&#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; vertical-align: top; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Item
    1.</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"><a href="#a_002">Financial Statements.</a></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; text-align: center">4</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">&#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">&#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; vertical-align: top; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif; 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; text-align: justify; 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; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><a href="#a_003">Unaudited Condensed Interim Consolidated Balance Sheets at June 30, 2023 and December 31, 2022.</a></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; text-align: center; width: 0.5in"><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; 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">&#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>
    <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; vertical-align: top; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif"><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">(b)</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 href="#a_004">Unaudited Condensed Interim Consolidated Statements of Operations and Comprehensive Income for the Three Months Ended June 30, 2023 and 2022.</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">5</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">&#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>
    <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; vertical-align: top; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif"><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">(c)</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 href="#a_005">Unaudited Condensed Interim Consolidated Statements of Operations and Comprehensive Income for the Six Months Ended June 30, 2023 and 2022.</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">6</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">&#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>
    <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; vertical-align: top; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif"><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">(d)</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 href="#a_006">Unaudited Condensed Interim Consolidated Statements of Cash Flows for the Six Months Ended June 30, 2023 and 2022.</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">7</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">&#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>
    <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; vertical-align: top; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif"><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">(e)</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 href="#a_007">Unaudited Condensed Interim&#8239;Consolidated Statements of Stockholders&#8217; Equity for the Six Months Ended June 30, 2023 and 2022.</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">8</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">&#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>
    <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; vertical-align: top; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif"><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">(f)</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 href="#a_008">Notes to Unaudited Condensed Interim Consolidated Financial Statements for the Period Ended June 30, 2023.</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">10</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">&#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"><b>&#160;</b></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; 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; vertical-align: top; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Item
    2.</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"><a href="#a_009">Management&#8217;s Discussion and Analysis of Financial Condition and Results of Operation.</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">28</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">&#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">&#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; vertical-align: top; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Item
    4. </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"><a href="#a_010">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">31</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">&#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">&#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; vertical-align: top; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>PART
    II.</b></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><a href="#a_011">OTHER INFORMATION</a></b></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">32&#160;</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">&#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">&#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; vertical-align: top; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Item
    6.</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"><a href="#a_012">Exhibits.</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">32</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">&#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">&#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; vertical-align: top; background-color: rgb(204,238,255)">
    <td colspan="3" style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><a href="#a_013">SIGNATURES</a></b></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">33</span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; 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; text-align: center; margin-top: 0pt; margin-bottom: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>CAUTIONARY
NOTE REGARDING FORWARD-LOOKING STATEMENTS</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">This
document contains &#8220;forward-looking statements&#8221; within the meaning of the Private Securities Litigation Reform Act of 1995.
All statements other than statements of historical fact are &#8220;forward-looking statements&#8221; for the purposes of the federal
and state securities laws, including, but not limited to: any projections of earnings, revenue or other financial items; any statements
of the plans, strategies and objectives of management for future operations; any statements concerning proposed new services or developments;
any statements regarding future economic conditions or performance; any statements of belief; and any statements of assumptions underlying
any of the foregoing.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Forward-looking
statements may include the words &#8220;may,&#8221; &#8220;could,&#8221; &#8220;will,&#8221; &#8220;estimate,&#8221; &#8220;intend,&#8221;
&#8220;continue,&#8221; &#8220;believe,&#8221; &#8220;expect&#8221; or &#8220;anticipate&#8221; or other similar words. These forward-looking
statements present our estimates and assumptions only as of the date of this report. Except for our ongoing obligation to disclose material
information as required by the federal securities laws, we do not intend, and undertake no obligation, to update any forward-looking
statement.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Although
we believe that the expectations reflected in any of our forward-looking statements are reasonable, actual results could differ materially
from those projected or assumed in any of our forward-looking statements. Our future financial condition and results of operations, as
well as any forward-looking statements, are subject to change and inherent risks and uncertainties. The factors impacting these risks
and uncertainties include but are not limited to:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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.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; 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">Increased
    competitive pressures from existing competitors and new entrants;</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">Increases
    in interest rates or our cost of borrowing or a default under any material debt agreement;</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">Deterioration
    in general or regional economic conditions;</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">Adverse
    state or federal legislation or regulation that increases the costs of compliance, or adverse findings by a regulator with respect
    to existing operations;</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">Loss
    of customers or sales weakness;</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">Inability
    to achieve future sales levels or other operating 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">&#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">The
    unavailability of funds for capital expenditures; </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">Operational
    inefficiencies in distribution or other systems.</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">New
    tariffs relating to raw materials imported from China; 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">Impact
    of the COVID-19 virus.</span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 40.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: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">For
a detailed description of these and other factors that could cause actual results to differ materially from those expressed in any forward-looking
statement, please see &#8220;Risk Factors&#8221; in our Annual Report on Form 10-K/A for the year ended December 31, 2022.</span></p>

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; 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: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="a_002"></span>Item
1. Financial Statements.</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>FLEXIBLE
SOLUTIONS INTERNATIONAL, INC.</b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>(U.S.
Dollars)</b></span></p>

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

<table cellpadding="0" cellspacing="0" id="xdx_301_111_z5y8uGUoiRH1" summary="xdx: Statement - Condensed Interim 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="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_492_20230630_zre5uNNLnhWb" style="border-bottom: Black 1.5pt solid; text-align: center"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>June
30, 2023</b></span></p></td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_495_20221231_zbkTNrRyBJLh" style="border-bottom: Black 1.5pt solid; text-align: center"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>December
31, 2022</b></span></p></td><td style="padding-bottom: 1.5pt">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold">&#160;</td>
    <td colspan="2" style="font-weight: bold; text-align: center">(Unaudited)</td><td style="font-weight: bold">&#160;</td><td>&#160;</td>
    <td colspan="2" style="text-align: right">&#160;</td><td>&#160;</td></tr>
  <tr id="xdx_40B_eus-gaap--AssetsAbstract_iB_zF8Hx1KEckwb" 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_406_eus-gaap--AssetsCurrentAbstract_i01B_zf0gLk9w26G7" style="vertical-align: bottom; background-color: White">
    <td style="font-weight: bold">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_40F_eus-gaap--CashAndCashEquivalentsAtCarryingValue_i01I_maACzaBj_z74Kv6pqj89" 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: 13%; text-align: right"><ix:nonFraction name="us-gaap:CashAndCashEquivalentsAtCarryingValue" contextRef="AsOf2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">7,413,753</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: 19%; text-align: right"><ix:nonFraction name="us-gaap:CashAndCashEquivalentsAtCarryingValue" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">6,115,099</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_407_eus-gaap--DepositsAssetsCurrent_i02I_maACzaBj_zrA50C55JfR8" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left">Term deposits</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:DepositsAssetsCurrent" contextRef="AsOf2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,010,241</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:DepositsAssetsCurrent" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">700,000</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_403_eus-gaap--AccountsReceivableNetCurrent_i02I_maACzaBj_zISzA1f3n72f" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left">Accounts receivable, net (Note 4)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:AccountsReceivableNetCurrent" contextRef="AsOf2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">7,435,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:AccountsReceivableNetCurrent" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">9,449,857</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_403_eus-gaap--InventoryNet_i02I_maACzaBj_z95otz6I8q3i" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left">Inventories (Note 5)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:InventoryNet" contextRef="AsOf2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">11,316,229</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="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">14,419,430</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_409_eus-gaap--PrepaidExpenseCurrent_i02I_maACzaBj_z82hoUn3aG4h" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left; padding-bottom: 1.5pt">Prepaid 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:PrepaidExpenseCurrent" contextRef="AsOf2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">868,880</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:PrepaidExpenseCurrent" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">310,297</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_40A_eus-gaap--AssetsCurrent_i02TI_mtACzaBj_maAzjfG_zpSE9l0dRvC1" style="vertical-align: bottom; background-color: White">
    <td style="font-weight: bold; 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="AsOf2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">28,044,153</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="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">30,994,683</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40B_eus-gaap--PropertyPlantAndEquipmentNet_i01I_maAzjfG_zQFn8ccv3jva" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; text-align: left">Property, equipment and leaseholds, net (Note 6)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentNet" contextRef="AsOf2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">12,821,907</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="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">9,709,288</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_402_eus-gaap--OperatingLeaseRightOfUseAsset_i01I_maAzjfG_zNZutjYCCXCi" style="vertical-align: bottom; background-color: White">
    <td style="font-weight: bold; text-align: left">Right of use assets (Note 3)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:OperatingLeaseRightOfUseAsset" contextRef="AsOf2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">141,535</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:OperatingLeaseRightOfUseAsset" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">167,222</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_406_eus-gaap--IntangibleAssetsNetExcludingGoodwill_i01I_maAzjfG_zp4wYbv55Ita" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; text-align: left">Intangible assets (Note 8)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:IntangibleAssetsNetExcludingGoodwill" contextRef="AsOf2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,360,000</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:IntangibleAssetsNetExcludingGoodwill" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,440,000</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_401_eus-gaap--DepositsAssetsNoncurrent_i01I_maAzjfG_zGsxmqpmSTN1" style="vertical-align: bottom; background-color: White">
    <td style="font-weight: bold; text-align: left">Long term deposits (Note 9)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:DepositsAssetsNoncurrent" contextRef="AsOf2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">370,156</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:DepositsAssetsNoncurrent" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">8,540</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_407_eus-gaap--EquityMethodInvestments_i01I_maAzjfG_z9fUrjlxrJxd" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; text-align: left">Investments (Note 10)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:EquityMethodInvestments" contextRef="AsOf2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">6,255,598</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:EquityMethodInvestments" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">5,458,895</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_402_eus-gaap--Goodwill_i01I_maAzjfG_z0ZDR4Ashm4b" style="vertical-align: bottom; background-color: White">
    <td style="font-weight: bold; text-align: left">Goodwill (Note 8)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:Goodwill" contextRef="AsOf2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,534,275</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:Goodwill" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,534,275</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40B_eus-gaap--DeferredIncomeTaxAssetsNet_i01I_pp0p0_maAzjfG_zcbSZ5ck97J1" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; text-align: left; padding-bottom: 1.5pt">Deferred tax asset</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:DeferredIncomeTaxAssetsNet" contextRef="AsOf2023-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">274,289</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:DeferredIncomeTaxAssetsNet" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">274,289</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_403_eus-gaap--Assets_i01TI_mtAzjfG_zBlRPs3xXWId" style="vertical-align: bottom; background-color: White">
    <td style="font-weight: bold; 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="AsOf2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">52,801,913</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="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">51,587,192</ix:nonFraction></td><td style="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 id="xdx_40C_eus-gaap--LiabilitiesAbstract_iB_zBLj6rOYoeK2" style="vertical-align: bottom; background-color: White">
    <td style="font-weight: bold">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--LiabilitiesCurrentAbstract_i01B_z3blRpFY85hh" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold">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_400_eus-gaap--AccountsPayableCurrent_i02I_maLCzEcb_zFMG5pYk8RNa" style="vertical-align: bottom; background-color: White">
    <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="AsOf2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,633,623</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="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">873,904</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40E_eus-gaap--AccruedLiabilitiesCurrent_i02I_maLCzEcb_z5KiNIi1iV6h" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left">Accrued liabilities</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:AccruedLiabilitiesCurrent" contextRef="AsOf2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">734,609</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="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">959,856</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_404_eus-gaap--DeferredRevenueCurrent_i02I_maLCzEcb_z2eRUH2Hvuh" 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:DeferredRevenueCurrent" contextRef="AsOf2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">35,406</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:DeferredRevenueCurrent" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">387,763</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40B_eus-gaap--TaxesPayableCurrent_i02I_maLCzEcb_zmk2pQNUSDt6" 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="AsOf2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">4,891,927</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="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">4,486,350</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40B_eus-gaap--LinesOfCreditCurrent_i02I_maLCzEcb_zptBY4Iwudhe" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left">Short term line of credit (Note 11)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0108">-</span></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:LinesOfCreditCurrent" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,818,591</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_402_eus-gaap--OperatingLeaseLiabilityCurrent_i02I_maLCzEcb_zDnshp9oPr94" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left">Current portion of lease liability (Note 3)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:OperatingLeaseLiabilityCurrent" contextRef="AsOf2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">58,800</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:OperatingLeaseLiabilityCurrent" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">58,080</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_404_eus-gaap--LongTermDebtCurrent_i02I_maLCzEcb_zghzxjhR3Jk1" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left; padding-bottom: 1.5pt">Current portion of long term debt (Note 12)</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:LongTermDebtCurrent" contextRef="AsOf2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">738,916</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:LongTermDebtCurrent" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">717,612</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_402_eus-gaap--LiabilitiesCurrent_i02TI_mtLCzEcb_maLzVXE_zzTy0thxYi6a" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; 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="AsOf2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">8,093,281</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="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">10,302,156</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_402_eus-gaap--OperatingLeaseLiabilityNoncurrent_i01I_maLzVXE_zWH4jobPv4ul" style="vertical-align: bottom; background-color: White">
    <td style="font-weight: bold; text-align: justify">Lease liability (Note 3)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:OperatingLeaseLiabilityNoncurrent" contextRef="AsOf2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">82,735</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:OperatingLeaseLiabilityNoncurrent" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">109,142</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--DeferredIncomeTaxLiabilitiesNet_i01I_pp0p0_maLzVXE_zdJdBXgoPz61" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; text-align: justify">Deferred income 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="AsOf2023-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">500,459</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:DeferredIncomeTaxLiabilitiesNet" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">500,459</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_402_eus-gaap--LongTermDebtNoncurrent_i01I_maLzVXE_zKCyjL3EZwfd" style="vertical-align: bottom; background-color: White">
    <td style="font-weight: bold; text-align: justify; padding-bottom: 1.5pt">Long term debt (Note 12)</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:LongTermDebtNoncurrent" contextRef="AsOf2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">7,302,188</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:LongTermDebtNoncurrent" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">5,436,465</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_406_eus-gaap--Liabilities_i01TI_mtLzVXE_maLASEzPAt_zuQNHY2bAQzd" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; 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">$</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:Liabilities" contextRef="AsOf2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">15,978,663</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="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">16,348,222</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><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--StockholdersEquityAbstract_i01B_zdtIWtaIQNw3" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <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 style="vertical-align: bottom; background-color: White">
    <td style="font-weight: bold; text-align: left">Capital stock (Note 14)</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>Authorized: <span id="xdx_903_eus-gaap--CommonStockSharesAuthorized_iI_c20230630_zSXEsrbkkF3i" title="Common stock, shares authorized"><span id="xdx_90B_eus-gaap--CommonStockSharesAuthorized_iI_c20221231_zevzTQ2iogE3" title="Common stock, shares authorized"><ix:nonFraction name="us-gaap:CommonStockSharesAuthorized" contextRef="AsOf2023-06-30" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares"><ix:nonFraction name="us-gaap:CommonStockSharesAuthorized" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">50,000,000</ix:nonFraction></ix:nonFraction></span></span> common shares with a par value of $<span id="xdx_90B_eus-gaap--CommonStockParOrStatedValuePerShare_iI_c20230630_zwEaUUjwNxR1" title="Common stock, par value"><span id="xdx_90C_eus-gaap--CommonStockParOrStatedValuePerShare_iI_c20221231_zMgTOTVGd1ij" title="Common stock, par value"><ix:nonFraction name="us-gaap:CommonStockParOrStatedValuePerShare" contextRef="AsOf2023-06-30" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares"><ix:nonFraction name="us-gaap:CommonStockParOrStatedValuePerShare" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">0.001</ix:nonFraction></ix:nonFraction></span></span> each; <span id="xdx_90E_eus-gaap--PreferredStockSharesAuthorized_iI_c20230630_zdFLEmqtqj2e" title="Preferred stock, shares authorized"><span id="xdx_901_eus-gaap--PreferredStockSharesAuthorized_iI_c20221231_z9tiPRx0fqe6" title="Preferred stock, shares authorized"><ix:nonFraction name="us-gaap:PreferredStockSharesAuthorized" contextRef="AsOf2023-06-30" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares"><ix:nonFraction name="us-gaap:PreferredStockSharesAuthorized" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">1,000,000</ix:nonFraction></ix:nonFraction></span></span> preferred shares with a par value of $<span id="xdx_903_eus-gaap--PreferredStockParOrStatedValuePerShare_iI_c20230630_zltPVVlWWx05" title="Preferred stock, par value"><span id="xdx_90D_eus-gaap--PreferredStockParOrStatedValuePerShare_iI_c20221231_zj7IiXl2tBz3" title="Preferred stock, par value"><ix:nonFraction name="us-gaap:PreferredStockParOrStatedValuePerShare" contextRef="AsOf2023-06-30" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares"><ix:nonFraction name="us-gaap:PreferredStockParOrStatedValuePerShare" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">0.01</ix:nonFraction></ix:nonFraction></span></span> each</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="text-align: left">Issued and 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_401_eus-gaap--CommonStockValue_i02I_maSEzupk_zxehWuvM6AT" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt"><span id="xdx_906_eus-gaap--CommonStockSharesIssued_iI_c20230630_zsO2Gtdm8531" title="Common stock, shares issued"><span id="xdx_90C_eus-gaap--CommonStockSharesOutstanding_iI_c20230630_zJEXhidalTpd" title="Common stock, shares outstanding"><ix:nonFraction name="us-gaap:CommonStockSharesIssued" contextRef="AsOf2023-06-30" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares"><ix:nonFraction name="us-gaap:CommonStockSharesOutstanding" contextRef="AsOf2023-06-30" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">12,435,532</ix:nonFraction></ix:nonFraction> </span></span>(December 31, 2022: <span id="xdx_908_eus-gaap--CommonStockSharesIssued_iI_c20221231_zMAjiGouxHVf" title="Common stock, shares issued"><span id="xdx_907_eus-gaap--CommonStockSharesOutstanding_iI_c20221231_zMM9kYVd8xP5" title="Common stock, shares outstanding"><ix:nonFraction name="us-gaap:CommonStockSharesIssued" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares"><ix:nonFraction name="us-gaap:CommonStockSharesOutstanding" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">12,426,260</ix:nonFraction></ix:nonFraction></span></span>) common shares</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:CommonStockValue" contextRef="AsOf2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">12,436</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="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">12,426</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_eus-gaap--CommonStockValue_i02I_maSEzupk_zSFnX15UNsCd" style="display: none; vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt">Authorized: 50,000,000 common shares with a par value of $0.001 each; 1,000,000 preferred shares with a par value of $0.01 each 12,435,532 (December 31, 2022: 12,426,260) common shares</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:CommonStockValue" contextRef="AsOf2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">12,436</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="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">12,426</ix:nonFraction></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: 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_40F_eus-gaap--AdditionalPaidInCapital_i02I_maSEzupk_z3gAEjqvKCu9" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold">Capital in excess of par value</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:AdditionalPaidInCapital" contextRef="AsOf2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">17,903,461</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="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">17,523,345</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_401_eus-gaap--AccumulatedOtherComprehensiveIncomeLossNetOfTax_i02I_maSEzupk_zQjQGzmqAZYh" style="vertical-align: bottom; background-color: White">
    <td style="font-weight: bold; text-align: left">Other comprehensive loss</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax" contextRef="AsOf2023-06-30" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">746,393</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:AccumulatedOtherComprehensiveIncomeLossNetOfTax" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">805,799</ix:nonFraction></td><td style="text-align: left">)</td></tr>
  <tr id="xdx_40E_eus-gaap--RetainedEarningsAccumulatedDeficit_i02I_maSEzupk_zjV8vokVxaLl" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; 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="AsOf2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">16,971,421</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="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">15,903,964</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_eus-gaap--StockholdersEquity_i02TI_mtSEzupk_maSEIPAzMnk_zYv7ogti8wl8" style="vertical-align: bottom; background-color: White">
    <td style="font-weight: bold; text-align: left">Total stockholders&#8217; equity &#8211; controlling interest</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">34,140,925</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:StockholdersEquity" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">32,633,936</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40B_eus-gaap--MinorityInterest_i02I_maSEIPAzMnk_ziae33IBACgl" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; text-align: left; padding-bottom: 1.5pt">Non-controlling interests (Note 15)</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:MinorityInterest" contextRef="AsOf2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,682,325</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:MinorityInterest" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,605,034</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_40F_eus-gaap--StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_i02TI_mtSEIPAzMnk_maLASEzPAt_z3tpxweFx5yf" style="vertical-align: bottom; background-color: White">
    <td style="font-weight: bold; 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:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">36,823,250</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:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">35,238,970</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_409_eus-gaap--LiabilitiesAndStockholdersEquity_i01TI_mtLASEzPAt_zUctWEjVXv17" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; 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="AsOf2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">52,801,913</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="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">51,587,192</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; text-align: center; margin-top: 0pt; margin-bottom: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#8212;
See Notes to Unaudited Condensed Interim Consolidated Financial Statements &#8212;</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>FLEXIBLE
SOLUTIONS INTERNATIONAL, INC.</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="a_004"></span>CONDENSED
INTERIM CONSOLIDATED STATEMENTS OF OPERATIONS AND</b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>(U.S.
Dollars &#8212; Unaudited)</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; 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_309_113_zZluhPzEx0Q9" summary="xdx: Statement - Condensed Interim Consolidated Statements of Operations and Comprehensive Income (Unaudited)" 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_499_20230401__20230630_zxNFO2GNWTR" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">2023</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_20220401__20220630_zuCFy2aCJXP8" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">2022</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">Three Months Ended June 30,</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">2023</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">2022</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr id="xdx_40E_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_maGPzaAM_zfqKkXPyj30e" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 64%; font-weight: bold">Sales</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2023-04-012023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">10,331,291</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: 14%; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2022-04-012022-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">11,165,143</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_406_eus-gaap--CostOfGoodsAndServicesSold_msGPzaAM_zWydE36sI5tk" style="vertical-align: bottom; background-color: White">
    <td style="font-weight: bold; padding-bottom: 1.5pt">Cost of sales</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:CostOfGoodsAndServicesSold" contextRef="From2023-04-012023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">7,292,438</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:CostOfGoodsAndServicesSold" contextRef="From2022-04-012022-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">7,303,537</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_409_eus-gaap--GrossProfit_iT_mtGPzaAM_maOILz2Lg_zUVYWmuRzrid" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; 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="From2023-04-012023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">3,038,853</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="From2022-04-012022-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">3,861,606</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><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--OperatingExpensesAbstract_iB_zIndsfqt9hQk" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; 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_400_eus-gaap--SalariesAndWages_i01_maOEzVZt_zTLNeua3yIJj" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt">Wages</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:SalariesAndWages" contextRef="From2023-04-012023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">787,621</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:SalariesAndWages" contextRef="From2022-04-012022-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">679,289</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_405_eus-gaap--OfficersCompensation_i01_maOEzVZt_zOHh7F9LEeo4" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left">Administrative salaries and benefits</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:OfficersCompensation" contextRef="From2023-04-012023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">394,305</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:OfficersCompensation" contextRef="From2022-04-012022-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">227,026</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40E_eus-gaap--GeneralInsuranceExpense_i01_maOEzVZt_z04zYuAaOdIb" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt">Insurance</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:GeneralInsuranceExpense" contextRef="From2023-04-012023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">228,445</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:GeneralInsuranceExpense" contextRef="From2022-04-012022-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">137,325</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_eus-gaap--InterestExpense_i01_maOEzVZt_zLzGwdiApcF4" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left">Interest expense</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:InterestExpense" contextRef="From2023-04-012023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">115,498</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:InterestExpense" contextRef="From2022-04-012022-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">52,139</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_404_eus-gaap--ProfessionalFees_i01_maOEzVZt_zSjdDKryKKt5" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left">Professional fees</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:ProfessionalFees" contextRef="From2023-04-012023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">79,532</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:ProfessionalFees" contextRef="From2022-04-012022-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">415,322</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40A_eus-gaap--OtherGeneralExpense_i01_maOEzVZt_zTAM804UKfk4" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left">Office and miscellaneous</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:OtherGeneralExpense" contextRef="From2023-04-012023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">74,944</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:OtherGeneralExpense" contextRef="From2022-04-012022-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">123,342</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40A_ecustom--Consulting_i01_maOEzVZt_zQYzEPnfGaH7" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt">Consulting</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="FSI:Consulting" contextRef="From2023-04-012023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">69,253</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="FSI:Consulting" contextRef="From2022-04-012022-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">86,417</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_eus-gaap--TravelAndEntertainmentExpense_i01_maOEzVZt_z3pew5JWIF2c" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt">Travel</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:TravelAndEntertainmentExpense" contextRef="From2023-04-012023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">64,612</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:TravelAndEntertainmentExpense" contextRef="From2022-04-012022-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">47,718</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_401_eus-gaap--SellingAndMarketingExpense_i01_maOEzVZt_zc7LkU3W7B7l" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left">Advertising and promotion</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:SellingAndMarketingExpense" contextRef="From2023-04-012023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">62,011</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="From2022-04-012022-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">52,176</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_400_ecustom--InvestorRelationsAndTransferAgentFee_i01_maOEzVZt_zksFD65rfaK6" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left">Investor relations and transfer agent fee</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="FSI:InvestorRelationsAndTransferAgentFee" contextRef="From2023-04-012023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">32,993</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="FSI:InvestorRelationsAndTransferAgentFee" contextRef="From2022-04-012022-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">28,780</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_406_eus-gaap--OperatingLeaseExpense_i01_maOEzVZt_zJnMmSeEfRq" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left">Lease expense</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:OperatingLeaseExpense" contextRef="From2023-04-012023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">27,645</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:OperatingLeaseExpense" contextRef="From2022-04-012022-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">51,614</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_407_eus-gaap--ResearchAndDevelopmentExpense_i01_maOEzVZt_zkT0qZ43yYwj" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt">Research</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:ResearchAndDevelopmentExpense" contextRef="From2023-04-012023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">15,833</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="From2022-04-012022-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">26,561</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40E_eus-gaap--ForeignCurrencyTransactionGainLossBeforeTax_i01N_di_msOEzVZt_zlFLN43dFdk2" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left">Currency exchange</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:ForeignCurrencyTransactionGainLossBeforeTax" contextRef="From2023-04-012023-06-30" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">13,925</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:ForeignCurrencyTransactionGainLossBeforeTax" contextRef="From2022-04-012022-06-30" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">99</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_eus-gaap--CommunicationsAndInformationTechnology_i01_maOEzVZt_zlCh1p6mShyc" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt">Telecommunications</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:CommunicationsAndInformationTechnology" contextRef="From2023-04-012023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">10,432</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:CommunicationsAndInformationTechnology" contextRef="From2022-04-012022-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">11,103</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_404_eus-gaap--UtilitiesOperatingExpense_i01_maOEzVZt_zNGvAn71omse" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt">Utilities</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:UtilitiesOperatingExpense" contextRef="From2023-04-012023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">5,487</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:UtilitiesOperatingExpense" contextRef="From2022-04-012022-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">7,566</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40A_ecustom--ShippingCost_i01_maOEzVZt_zT4ri7gAOOM6" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt">Shipping</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="FSI:ShippingCost" contextRef="From2023-04-012023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">5,100</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="FSI:ShippingCost" contextRef="From2022-04-012022-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">8,907</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40B_ecustom--Commissions_i01_maOEzVZt_zrkRBFo1Vys2" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; padding-bottom: 1.5pt">Commissions</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="-sec-ix-hidden: xdx2ixbrl0246">-</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"><p style="margin: 0"><ix:nonFraction name="FSI:Commissions" contextRef="From2022-04-012022-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">57,506</ix:nonFraction></p></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_407_eus-gaap--OperatingExpenses_i01T_mtOEzVZt_msOILz2Lg_z0l8FPN8XoL4" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; 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="From2023-04-012023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,987,636</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="From2022-04-012022-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,012,890</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><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--OperatingIncomeLoss_iT_maILFCOz0Dx_mtOILz2Lg_ziEt1ixteBti" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; text-align: left">Operating income</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:OperatingIncomeLoss" contextRef="From2023-04-012023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,051,217</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:OperatingIncomeLoss" contextRef="From2022-04-012022-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,848,716</ix:nonFraction></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: 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--GainOnAcquisitionOfSubsidiaries_maILFCOz0Dx_zAfAvpj1YrT5" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; text-align: left">Gain on acquisition of ENP Peru</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0255">-</span></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="FSI:GainOnAcquisitionOfSubsidiaries" contextRef="From2022-04-012022-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">335,051</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_404_eus-gaap--GainLossOnInvestments_maILFCOz0Dx_z3WVRfy3kPY" style="vertical-align: bottom; background-color: White">
    <td style="font-weight: bold; text-align: left">Gain on investment</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:GainLossOnInvestments" contextRef="From2023-04-012023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">256,708</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:GainLossOnInvestments" contextRef="From2022-04-012022-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">177,552</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--InterestIncomeOther_maILFCOz0Dx_zNesdKMLxij2" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; text-align: left; padding-bottom: 1.5pt">Interest income</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:InterestIncomeOther" contextRef="From2023-04-012023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">41,174</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:InterestIncomeOther" contextRef="From2022-04-012022-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">10,053</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_405_eus-gaap--IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_iT_mtILFCOz0Dx_maPLzOdW_zzo7a8iSpwx8" style="vertical-align: bottom; background-color: White">
    <td style="font-weight: bold; text-align: left">Income before income tax</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" contextRef="From2023-04-012023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,349,099</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="From2022-04-012022-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,371,372</ix:nonFraction></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: 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_40A_eus-gaap--DeferredIncomeTaxesAndTaxCreditsAbstract_iB" style="vertical-align: bottom; background-color: White">
    <td style="font-weight: bold; text-align: left">Income taxes</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>&#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_404_eus-gaap--IncomeTaxExpenseBenefit_i01N_pp0p0_di_msPLzOdW_zRtCBXBrbAPf" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left; padding-bottom: 1.5pt">Income tax 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:IncomeTaxExpenseBenefit" contextRef="From2023-04-012023-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">354,372</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:IncomeTaxExpenseBenefit" contextRef="From2022-04-012022-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">542,802</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr id="xdx_400_eus-gaap--ProfitLoss_iT_maNILzw7s_mtPLzOdW_zkUU6u2gEao4" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; text-align: left; padding-bottom: 1.5pt">Net income for the period including non-controlling interests</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:ProfitLoss" contextRef="From2023-04-012023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">994,727</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:ProfitLoss" contextRef="From2022-04-012022-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,828,570</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_405_eus-gaap--NetIncomeLossAttributableToNoncontrollingInterest_iN_pp0p0_di_msNILzw7s_zyP65zY3EL4k" style="vertical-align: bottom; background-color: White">
    <td style="font-weight: bold; text-align: left; padding-bottom: 1.5pt">Less: Net income attributable to non-controlling interests</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:NetIncomeLossAttributableToNoncontrollingInterest" contextRef="From2023-04-012023-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">184,862</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:NetIncomeLossAttributableToNoncontrollingInterest" contextRef="From2022-04-012022-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">166,115</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr id="xdx_40A_eus-gaap--NetIncomeLoss_iT_mtNILzw7s_zQJgvsq5xQuf" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; text-align: left">Net income attributable to controlling interest</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2023-04-012023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">809,865</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:NetIncomeLoss" contextRef="From2022-04-012022-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,662,455</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_eus-gaap--EarningsPerShareBasic_zGOT9Dv1viL4" style="vertical-align: bottom; background-color: White">
    <td style="font-weight: bold">Income per share (basic)</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction name="us-gaap:EarningsPerShareBasic" contextRef="From2023-04-012023-06-30" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">0.07</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="From2022-04-012022-06-30" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">0.13</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_404_eus-gaap--EarningsPerShareDiluted_z3CGLvGqGYic" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold">Income per share (diluted)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:EarningsPerShareDiluted" contextRef="From2023-04-012023-06-30" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">0.06</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:EarningsPerShareDiluted" contextRef="From2022-04-012022-06-30" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">0.13</ix:nonFraction></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: 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_400_eus-gaap--WeightedAverageNumberOfSharesOutstandingBasic_z4DHeAzX8Xm8" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold">Weighted average number of common shares (basic)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" contextRef="From2023-04-012023-06-30" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">12,435,532</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="From2022-04-012022-06-30" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">12,384,131</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_401_eus-gaap--WeightedAverageNumberOfDilutedSharesOutstanding_z1QVztBj9L5d" style="vertical-align: bottom; background-color: White">
    <td style="font-weight: bold; padding-bottom: 1.5pt">Weighted average number of common shares (diluted)</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:WeightedAverageNumberOfDilutedSharesOutstanding" contextRef="From2023-04-012023-06-30" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">12,519,930</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:WeightedAverageNumberOfDilutedSharesOutstanding" contextRef="From2022-04-012022-06-30" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">12,478,751</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_40E_eus-gaap--OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract_iB_zlYq4ikDd3T4" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; text-align: left">Other comprehensive income (loss):</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--ProfitLoss_i01_maCINOTzNZD_zVjqXkvPq2M8" style="vertical-align: bottom; background-color: White">
    <td style="font-weight: bold; text-align: left">Net income</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:ProfitLoss" contextRef="From2023-04-012023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">994,727</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:ProfitLoss" contextRef="From2022-04-012022-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,828,570</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_eus-gaap--OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_i01_pp0p0_maCINOTzNZD_zoleb0c2pMv9" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; text-align: left; padding-bottom: 1.5pt">Unrealized gain (loss) on foreign currency translations</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:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" contextRef="From2023-04-012023-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">226,645</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:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" contextRef="From2022-04-012022-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" sign="-" unitRef="USD">1,907</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr id="xdx_405_eus-gaap--ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest_i01T_mtCINOTzNZD_maCINOTzupd_z0Mj7WlElPJk" style="vertical-align: bottom; background-color: White">
    <td style="font-weight: bold; text-align: left">Total comprehensive income</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction name="us-gaap:ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest" contextRef="From2023-04-012023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,221,372</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:ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest" contextRef="From2022-04-012022-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,826,663</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_403_eus-gaap--ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest_i01N_pp0p0_di_msCINOTzupd_zJlX8QOdCEQd" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; text-align: left; padding-bottom: 1.5pt">Comprehensive income &#8211; non-controlling interest</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:ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest" contextRef="From2023-04-012023-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">184,862</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:ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest" contextRef="From2022-04-012022-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">166,115</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr id="xdx_402_eus-gaap--ComprehensiveIncomeNetOfTax_i01T_mtCINOTzupd_zpOZqsS5KWx3" style="vertical-align: bottom; background-color: White">
    <td style="font-weight: bold; text-align: left; padding-bottom: 1.5pt">Comprehensive income attributable to Flexible Solutions International Inc.</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:ComprehensiveIncomeNetOfTax" contextRef="From2023-04-012023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,036,510</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:ComprehensiveIncomeNetOfTax" contextRef="From2022-04-012022-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,660,548</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  </table>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#8212;
See Notes to Unaudited Condensed Interim Consolidated Financial Statements &#8212;</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>FLEXIBLE
SOLUTIONS INTERNATIONAL, INC.</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="a_005"></span>CONDENSED
INTERIM CONSOLIDATED STATEMENTS OF OPERATIONS AND</b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>(U.S.
Dollars &#8212; Unaudited)</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><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>&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_499_20230101__20230630_zPpn0iJgLCY9" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">2023</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_498_20220101__20220630_zu0OH6ektrQ2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">2022</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">Six Months Ended June 30,</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">2023</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">2022</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr id="xdx_40E_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_maGPzaAM_zyVddL37Aza6" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 64%; font-weight: bold">Sales</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2023-01-01to2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">20,178,808</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: 14%; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2022-01-012022-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">21,948,423</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_406_eus-gaap--CostOfGoodsAndServicesSold_msGPzaAM_zfhe6foOPTn7" style="vertical-align: bottom; background-color: White">
    <td style="font-weight: bold; padding-bottom: 1.5pt">Cost of sales</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:CostOfGoodsAndServicesSold" contextRef="From2023-01-01to2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">14,054,963</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:CostOfGoodsAndServicesSold" contextRef="From2022-01-012022-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">14,274,916</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_409_eus-gaap--GrossProfit_iT_mtGPzaAM_maOILz2Lg_z7NCcsF5AlAb" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; 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="From2023-01-01to2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">6,123,845</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="From2022-01-012022-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">7,673,507</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><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--OperatingExpensesAbstract_iB_zQO3JuUwcNOl" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; 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_400_eus-gaap--SalariesAndWages_i01_maOEzVZt_zZc653acXgj8" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt">Wages</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:SalariesAndWages" contextRef="From2023-01-01to2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,459,313</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:SalariesAndWages" contextRef="From2022-01-012022-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,302,792</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_405_eus-gaap--OfficersCompensation_i01_maOEzVZt_zLMM1QYydE4h" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left">Administrative salaries and benefits</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:OfficersCompensation" contextRef="From2023-01-01to2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">787,319</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:OfficersCompensation" contextRef="From2022-01-012022-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">460,611</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40E_eus-gaap--GeneralInsuranceExpense_i01_maOEzVZt_z76lsHsvKfi3" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt">Insurance</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:GeneralInsuranceExpense" contextRef="From2023-01-01to2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">429,975</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:GeneralInsuranceExpense" contextRef="From2022-01-012022-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">322,685</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_eus-gaap--InterestExpense_i01_maOEzVZt_zlK0kVCS9a0j" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left">Interest expense</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:InterestExpense" contextRef="From2023-01-01to2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">250,368</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:InterestExpense" contextRef="From2022-01-012022-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">109,757</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40A_eus-gaap--OtherGeneralExpense_i01_maOEzVZt_zvrJzTefnMId" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left">Office and miscellaneous</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:OtherGeneralExpense" contextRef="From2023-01-01to2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">173,790</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:OtherGeneralExpense" contextRef="From2022-01-012022-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">159,312</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_404_eus-gaap--ProfessionalFees_i01_maOEzVZt_zYSBWCwUO8Ff" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left">Professional fees</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:ProfessionalFees" contextRef="From2023-01-01to2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">142,299</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:ProfessionalFees" contextRef="From2022-01-012022-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">465,903</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40A_ecustom--Consulting_i01_maOEzVZt_ziaxf2mrUxqc" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt">Consulting</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="FSI:Consulting" contextRef="From2023-01-01to2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">132,230</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="FSI:Consulting" contextRef="From2022-01-012022-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">162,691</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_eus-gaap--TravelAndEntertainmentExpense_i01_maOEzVZt_zu20exff0hXi" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt">Travel</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:TravelAndEntertainmentExpense" contextRef="From2023-01-01to2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">126,264</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:TravelAndEntertainmentExpense" contextRef="From2022-01-012022-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">92,526</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_400_ecustom--InvestorRelationsAndTransferAgentFee_i01_maOEzVZt_zMDmSU1uJUz5" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left">Investor relations and transfer agent fee</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="FSI:InvestorRelationsAndTransferAgentFee" contextRef="From2023-01-01to2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">122,885</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="FSI:InvestorRelationsAndTransferAgentFee" contextRef="From2022-01-012022-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">65,877</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_401_eus-gaap--SellingAndMarketingExpense_i01_maOEzVZt_zVZdSphoot5k" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left">Advertising and promotion</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:SellingAndMarketingExpense" contextRef="From2023-01-01to2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">110,409</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="From2022-01-012022-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">92,205</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_406_eus-gaap--OperatingLeaseExpense_i01_maOEzVZt_zByX9LIkMi" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left">Lease expense</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:OperatingLeaseExpense" contextRef="From2023-01-01to2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">52,940</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:OperatingLeaseExpense" contextRef="From2022-01-012022-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">93,839</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_407_eus-gaap--ResearchAndDevelopmentExpense_i01_maOEzVZt_zPhSEWFnGrKk" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt">Research</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:ResearchAndDevelopmentExpense" contextRef="From2023-01-01to2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">37,335</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="From2022-01-012022-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">44,257</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_eus-gaap--CommunicationsAndInformationTechnology_i01_maOEzVZt_zvT2Q5ySn7pl" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt">Telecommunications</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:CommunicationsAndInformationTechnology" contextRef="From2023-01-01to2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">23,010</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:CommunicationsAndInformationTechnology" contextRef="From2022-01-012022-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">20,559</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40E_eus-gaap--ForeignCurrencyTransactionGainLossBeforeTax_i01N_di_msOEzVZt_zW4wUbATxVlb" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left">Currency exchange</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:ForeignCurrencyTransactionGainLossBeforeTax" contextRef="From2023-01-01to2023-06-30" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">16,501</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:ForeignCurrencyTransactionGainLossBeforeTax" contextRef="From2022-01-012022-06-30" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">11,632</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_404_eus-gaap--UtilitiesOperatingExpense_i01_maOEzVZt_zyNaBzNamSJh" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt">Utilities</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:UtilitiesOperatingExpense" contextRef="From2023-01-01to2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">12,974</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:UtilitiesOperatingExpense" contextRef="From2022-01-012022-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">15,184</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40A_ecustom--ShippingCost_i01_maOEzVZt_z0ZI1iVeWVLh" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt">Shipping</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="FSI:ShippingCost" contextRef="From2023-01-01to2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">9,766</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="FSI:ShippingCost" contextRef="From2022-01-012022-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">12,901</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_402_ecustom--Commissions_i01_maOEzVZt_znRvy9YiKuPh" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; padding-bottom: 1.5pt">Commissions</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="FSI:Commissions" contextRef="From2023-01-01to2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,985</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="FSI:Commissions" contextRef="From2022-01-012022-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">60,930</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_407_eus-gaap--OperatingExpenses_i01T_mtOEzVZt_msOILz2Lg_zbjfCSh3hq0b" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; 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="From2023-01-01to2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">3,890,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:OperatingExpenses" contextRef="From2022-01-012022-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">3,493,661</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><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--OperatingIncomeLoss_iT_maILFCOz0Dx_mtOILz2Lg_zCKWd9BtWVP5" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; text-align: left">Operating income</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:OperatingIncomeLoss" contextRef="From2023-01-01to2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,233,482</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:OperatingIncomeLoss" contextRef="From2022-01-012022-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">4,179,846</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40A_ecustom--GainOnAcquisitionOfSubsidiaries_maILFCOz0Dx_zrPICUu4Euaf" style="vertical-align: bottom; background-color: White">
    <td style="font-weight: bold; text-align: left">Gain on acquisition of ENP Peru</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0381">-</span></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="FSI:GainOnAcquisitionOfSubsidiaries" contextRef="From2022-01-012022-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">335,051</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_404_eus-gaap--GainLossOnInvestments_maILFCOz0Dx_zBIGQoEJpbwd" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; text-align: left">Gain on investment</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:GainLossOnInvestments" contextRef="From2023-01-01to2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">326,703</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:GainLossOnInvestments" contextRef="From2022-01-012022-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">214,316</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--InterestIncomeOther_maILFCOz0Dx_zaFja1Vhu8c7" style="vertical-align: bottom; background-color: White">
    <td style="font-weight: bold; text-align: left; padding-bottom: 1.5pt">Interest income</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:InterestIncomeOther" contextRef="From2023-01-01to2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">53,185</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:InterestIncomeOther" contextRef="From2022-01-012022-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">32,141</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_405_eus-gaap--IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_iT_mtILFCOz0Dx_maPLzOdW_ziuPHWw6Y5P" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; text-align: left">Income before income tax</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" contextRef="From2023-01-01to2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,613,370</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="From2022-01-012022-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">4,761,354</ix:nonFraction></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: 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_eus-gaap--DeferredIncomeTaxesAndTaxCreditsAbstract_iB_z6g0kB4diAib" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; text-align: left">Income taxes</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--IncomeTaxExpenseBenefit_i01N_pp0p0_di_msPLzOdW_zJ6RtUmcFUJf" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left; padding-bottom: 1.5pt">Income tax 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:IncomeTaxExpenseBenefit" contextRef="From2023-01-01to2023-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">654,149</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:IncomeTaxExpenseBenefit" contextRef="From2022-01-012022-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">1,255,248</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr id="xdx_400_eus-gaap--ProfitLoss_iT_maNILzw7s_mtPLzOdW_zYaJzfRNiLwl" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; text-align: left; padding-bottom: 1.5pt">Net income for the period including non-controlling interests</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:ProfitLoss" contextRef="From2023-01-01to2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,959,221</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:ProfitLoss" contextRef="From2022-01-012022-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">3,506,106</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_405_eus-gaap--NetIncomeLossAttributableToNoncontrollingInterest_iN_pp0p0_di_msNILzw7s_zK1pRWgkHsDb" style="vertical-align: bottom; background-color: White">
    <td style="font-weight: bold; text-align: left; padding-bottom: 1.5pt">Less: Net income attributable to non-controlling interests</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:NetIncomeLossAttributableToNoncontrollingInterest" contextRef="From2023-01-01to2023-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">264,987</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:NetIncomeLossAttributableToNoncontrollingInterest" contextRef="From2022-01-012022-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">310,592</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr id="xdx_40A_eus-gaap--NetIncomeLoss_iT_mtNILzw7s_zy4XQAVGNwX5" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; text-align: left">Net income attributable to controlling interest</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2023-01-01to2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,694,234</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:NetIncomeLoss" contextRef="From2022-01-012022-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">3,195,514</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="font-weight: bold; text-align: left">Income per share (basic and diluted)</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><span id="xdx_90F_eus-gaap--EarningsPerShareBasic_c20230101__20230630_zRpweDttVujg" title="Income per share (basic)" class="xdx_phnt_U3RhdGVtZW50IC0gQ29uZGVuc2VkIEludGVyaW0gQ29uc29saWRhdGVkIFN0YXRlbWVudHMgb2YgT3BlcmF0aW9ucyBhbmQgQ29tcHJlaGVuc2l2ZSBJbmNvbWUgKFVuYXVkaXRlZCkA"><span id="xdx_90F_eus-gaap--EarningsPerShareDiluted_c20230101__20230630_z8omYPHKBysi" title="Income per share (diluted)" class="xdx_phnt_U3RhdGVtZW50IC0gQ29uZGVuc2VkIEludGVyaW0gQ29uc29saWRhdGVkIFN0YXRlbWVudHMgb2YgT3BlcmF0aW9ucyBhbmQgQ29tcHJlaGVuc2l2ZSBJbmNvbWUgKFVuYXVkaXRlZCkA"><ix:nonFraction name="us-gaap:EarningsPerShareBasic" contextRef="From2023-01-01to2023-06-30" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares"><ix:nonFraction name="us-gaap:EarningsPerShareDiluted" contextRef="From2023-01-01to2023-06-30" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">0.14</ix:nonFraction></ix:nonFraction></span></span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><span id="xdx_90F_eus-gaap--EarningsPerShareBasic_c20220101__20220630_zYRQ6AWy40y3" title="Income per share (basic)" class="xdx_phnt_U3RhdGVtZW50IC0gQ29uZGVuc2VkIEludGVyaW0gQ29uc29saWRhdGVkIFN0YXRlbWVudHMgb2YgT3BlcmF0aW9ucyBhbmQgQ29tcHJlaGVuc2l2ZSBJbmNvbWUgKFVuYXVkaXRlZCkA"><span id="xdx_900_eus-gaap--EarningsPerShareDiluted_c20220101__20220630_zYZsFrrK95Ub" title="Income per share (diluted)" class="xdx_phnt_U3RhdGVtZW50IC0gQ29uZGVuc2VkIEludGVyaW0gQ29uc29saWRhdGVkIFN0YXRlbWVudHMgb2YgT3BlcmF0aW9ucyBhbmQgQ29tcHJlaGVuc2l2ZSBJbmNvbWUgKFVuYXVkaXRlZCkA"><ix:nonFraction name="us-gaap:EarningsPerShareBasic" contextRef="From2022-01-012022-06-30" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares"><ix:nonFraction name="us-gaap:EarningsPerShareDiluted" contextRef="From2022-01-012022-06-30" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">0.26</ix:nonFraction></ix:nonFraction></span></span></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_400_eus-gaap--WeightedAverageNumberOfSharesOutstandingBasic_zHhKJzfLAxge" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold">Weighted average number of common shares (basic)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" contextRef="From2023-01-01to2023-06-30" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">12,434,230</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="From2022-01-012022-06-30" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">12,372,785</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_401_eus-gaap--WeightedAverageNumberOfDilutedSharesOutstanding_zVJaFQyhDdDh" style="vertical-align: bottom; background-color: White">
    <td style="font-weight: bold; padding-bottom: 1.5pt">Weighted average number of common shares (diluted)</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:WeightedAverageNumberOfDilutedSharesOutstanding" contextRef="From2023-01-01to2023-06-30" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">12,498,945</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:WeightedAverageNumberOfDilutedSharesOutstanding" contextRef="From2022-01-012022-06-30" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">12,511,400</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_40E_eus-gaap--OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract_iB_zPLG6UJvB5n1" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; text-align: left">Other comprehensive income:</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--ProfitLoss_i01_maCINOTzNZD_zLFgPiQzaP1c" style="vertical-align: bottom; background-color: White">
    <td style="font-weight: bold; text-align: left">Net income</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction name="us-gaap:ProfitLoss" contextRef="From2023-01-01to2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,959,221</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:ProfitLoss" contextRef="From2022-01-012022-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">3,506,106</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_eus-gaap--OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_i01_pp0p0_maCINOTzNZD_zakm5hCJ9tId" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; text-align: left; padding-bottom: 1.5pt">Unrealized gain (loss) on foreign currency translations</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:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" contextRef="From2023-01-01to2023-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">59,406</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:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" contextRef="From2022-01-012022-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">40,636</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_402_eus-gaap--ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest_i01T_mtCINOTzNZD_maCINOTzupd_zTLFQMbqbvTh" style="vertical-align: bottom; background-color: White">
    <td style="font-weight: bold; text-align: left">Total comprehensive income</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction name="us-gaap:ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest" contextRef="From2023-01-01to2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,018,627</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:ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest" contextRef="From2022-01-012022-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">3,546,742</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_403_eus-gaap--ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest_i01N_pp0p0_di_msCINOTzupd_zLYrUhP11hk" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; text-align: left; padding-bottom: 1.5pt">Comprehensive income &#8211; non-controlling interest</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:ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest" contextRef="From2023-01-01to2023-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">264,987</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:ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest" contextRef="From2022-01-012022-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">310,592</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr id="xdx_402_eus-gaap--ComprehensiveIncomeNetOfTax_i01T_mtCINOTzupd_zckSyaVtrWQh" style="vertical-align: bottom; background-color: White">
    <td style="font-weight: bold; text-align: left; padding-bottom: 1.5pt">Comprehensive income attributable to Flexible Solutions International Inc.</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:ComprehensiveIncomeNetOfTax" contextRef="From2023-01-01to2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,753,640</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:ComprehensiveIncomeNetOfTax" contextRef="From2022-01-012022-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">3,236,150</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  </table>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#8212;
See Notes to Unaudited Condensed Interim Consolidated Financial Statements &#8212;</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>FLEXIBLE
SOLUTIONS INTERNATIONAL, INC.</b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>(U.S.
Dollars &#8212; Unaudited)</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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_30F_112_z7tbJ1uUQyh2" summary="xdx: Statement - Condensed Interim Consolidated Statements of Cash Flows (Unaudited)" 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_499_20230101__20230630_zXTkanNOzIw1" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">2023</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_49B_20220101__20220630_zcVYbmiP4Xpi" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">2022</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">Six Months Ended June 30,</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">2023</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">2022</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="text-align: center">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="text-align: center">&#160;</td><td>&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--NetCashProvidedByUsedInOperatingActivitiesAbstract_iB_zM9HGmutHPU9" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; text-align: left">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_403_eus-gaap--ProfitLoss_i01_pp0p0_maNCPBUzwRJ_z7vpO2eGlBDd" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; width: 64%; text-align: left">Net income for the period including non-controlling interest</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right"><ix:nonFraction name="us-gaap:ProfitLoss" contextRef="From2023-01-01to2023-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">1,959,221</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: 14%; text-align: right"><ix:nonFraction name="us-gaap:ProfitLoss" contextRef="From2022-01-012022-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">3,506,106</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_40F_eus-gaap--AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_i01B_zcqAprmDSbsc" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left">Adjustments to reconcile net income to cash provided by operations:</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--ShareBasedCompensation_i02_maNCPBUzwRJ_zS4FaOBeQ5x1" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 20pt; 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:ShareBasedCompensation" contextRef="From2023-01-01to2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">366,526</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="From2022-01-012022-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">109,465</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_402_eus-gaap--DepreciationAndAmortization_i02_maNCPBUzwRJ_z5wGtZUPsADd" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 20pt; 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:DepreciationAndAmortization" contextRef="From2023-01-01to2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">751,574</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:DepreciationAndAmortization" contextRef="From2022-01-012022-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">472,278</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40B_eus-gaap--FinanceLeaseRightOfUseAssetAmortization_i02_maNCPBUzwRJ_z1k1XiZGBTN1" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 20pt; text-align: left">Lease right of use amortization</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:FinanceLeaseRightOfUseAssetAmortization" contextRef="From2023-01-01to2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">25,687</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:FinanceLeaseRightOfUseAssetAmortization" contextRef="From2022-01-012022-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">25,583</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40E_ecustom--LeaseRightOfUseFinancing_i02_maNCPBUzwRJ_z3JivlYslKNc" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 20pt; text-align: left">Lease right of use financing</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="FSI:LeaseRightOfUseFinancing" contextRef="From2023-01-01to2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">3,353</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="FSI:LeaseRightOfUseFinancing" contextRef="From2022-01-012022-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">4,678</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--GainLossOnInvestments_i02N_di_msNCPBUzwRJ_zve1cODNrtba" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 20pt; text-align: left">Gain on investment</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:GainLossOnInvestments" contextRef="From2023-01-01to2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">326,703</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:GainLossOnInvestments" contextRef="From2022-01-012022-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">214,316</ix:nonFraction></td><td style="text-align: left">)</td></tr>
  <tr id="xdx_40B_ecustom--GainOnAcquisitionOfSubsidiaries_i02N_di_msNCPBUzwRJ_z28559wuZky3" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 20pt; text-align: left">Gain on acquisition of ENP Peru</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0464">-</span></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="FSI:GainOnAcquisitionOfSubsidiaries" contextRef="From2022-01-012022-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">335,051</ix:nonFraction></td><td style="text-align: left">)</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_401_eus-gaap--IncreaseDecreaseInOperatingCapitalAbstract_i02B_zAL7Tr1Vpve6" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Changes in non-cash working capital items:</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--IncreaseDecreaseInAccountsReceivable_i03N_di_msNCPBUzwRJ_zoSsrsea8Oge" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 20pt; text-align: left">(Increase) Decrease in 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="From2023-01-01to2023-06-30" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">2,014,807</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:IncreaseDecreaseInAccountsReceivable" contextRef="From2022-01-012022-06-30" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">466,252</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40E_eus-gaap--IncreaseDecreaseInInventories_i03N_pp0p0_di_msNCPBUzwRJ_zaIpNGt2FC8c" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 20pt; text-align: left">(Increase) Decrease in inventories</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:IncreaseDecreaseInInventories" contextRef="From2023-01-01to2023-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" sign="-" unitRef="USD">3,646,494</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="From2022-01-012022-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">5,683,515</ix:nonFraction></td><td style="text-align: left">)</td></tr>
  <tr id="xdx_406_eus-gaap--IncreaseDecreaseInPrepaidExpense_i03N_pp0p0_di_msNCPBUzwRJ_zzl72anHgivh" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 20pt; text-align: left">(Increase) Decrease in 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="From2023-01-01to2023-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">558,583</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="From2022-01-012022-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">119,892</ix:nonFraction></td><td style="text-align: left">)</td></tr>
  <tr id="xdx_407_eus-gaap--IncreaseDecreaseInAccountsPayableAndAccruedLiabilities_i03_maNCPBUzwRJ_zBbWqQBsRHP2" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 20pt; text-align: left">Increase (Decrease) in accounts payable and accrued liabilities</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:IncreaseDecreaseInAccountsPayableAndAccruedLiabilities" contextRef="From2023-01-01to2023-06-30" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">8,821</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:IncreaseDecreaseInAccountsPayableAndAccruedLiabilities" contextRef="From2022-01-012022-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,416,460</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_407_eus-gaap--IncreaseDecreaseInAccruedIncomeTaxesPayable_i03_maNCPBUzwRJ_zjcNd5t13Ml" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 20pt; text-align: left">Increase (Decrease) in 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="From2023-01-01to2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">405,577</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:IncreaseDecreaseInAccruedIncomeTaxesPayable" contextRef="From2022-01-012022-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,255,248</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_404_eus-gaap--IncreaseDecreaseInContractWithCustomerLiability_i03_pp0p0_maNCPBUzwRJ_z0p2WWomGjGj" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 20pt; text-align: left; padding-bottom: 1.5pt">Increase (Decrease) 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:IncreaseDecreaseInContractWithCustomerLiability" contextRef="From2023-01-01to2023-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" sign="-" unitRef="USD">352,357</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:IncreaseDecreaseInContractWithCustomerLiability" contextRef="From2022-01-012022-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" sign="-" unitRef="USD">110,760</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">)</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_406_eus-gaap--NetCashProvidedByUsedInOperatingActivities_i01T_mtNCPBUzwRJ_maCCERCzHnI_zuKp9EX5HqJ" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; text-align: left; padding-bottom: 1.5pt">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="From2023-01-01to2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">7,926,775</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="From2022-01-012022-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">792,536</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><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_40F_eus-gaap--NetCashProvidedByUsedInInvestingActivitiesAbstract_iB_zhEVZrrY2uM8" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; text-align: left">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_400_ecustom--ProceedsFromNoncontrollingInterest_i01_maNCPBUzCyI_zWRbBtGskSj8" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left">Non-controlling interest of 317 Mendota</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="FSI:ProceedsFromNoncontrollingInterest" contextRef="From2023-01-01to2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">200,000</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="-sec-ix-hidden: xdx2ixbrl0495">-</span></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_405_eus-gaap--PaymentsToAcquireBusinessesNetOfCashAcquired_i01N_di_msNCPBUzCyI_zSyrIthN9P17" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left">Acquisition of ENP Peru</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0497">-</span></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:PaymentsToAcquireBusinessesNetOfCashAcquired" contextRef="From2022-01-012022-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">499,329</ix:nonFraction></td><td style="text-align: left">)</td></tr>
  <tr id="xdx_401_eus-gaap--PaymentsToAcquireInvestments_i01N_di_msNCPBUzCyI_zZlKpIp95Yy3" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left">Additional investment in Trio</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:PaymentsToAcquireInvestments" contextRef="From2023-01-01to2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">470,000</ix:nonFraction></td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0501">-</span></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_402_eus-gaap--ProceedsFromSaleOfEquityMethodInvestments_i01_maNCPBUzCyI_zqkUcmJ7aBIc" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left">Proceeds of equity method investment distributions</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0503">-</span></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:ProceedsFromSaleOfEquityMethodInvestments" contextRef="From2022-01-012022-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">108,750</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_409_ecustom--DepositsOnPurchasesOfEquipment_i01N_di_msNCPBUzCyI_z0EUNn6fOp7a" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left">Deposits on purchases of equipment</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="FSI:DepositsOnPurchasesOfEquipment" contextRef="From2023-01-01to2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">361,616</ix:nonFraction></td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0507">-</span></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_402_eus-gaap--PaymentsToAcquirePropertyPlantAndEquipment_i01N_di_msNCPBUzCyI_ztZQjwRDOcdd" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left; padding-bottom: 1.5pt">Net purchase of property, equipment and leaseholds</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:PaymentsToAcquirePropertyPlantAndEquipment" contextRef="From2023-01-01to2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">3,784,193</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:PaymentsToAcquirePropertyPlantAndEquipment" contextRef="From2022-01-012022-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">422,067</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">)</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_406_eus-gaap--NetCashProvidedByUsedInInvestingActivities_i01T_maCCERCzHnI_mtNCPBUzCyI_z3vCe6X0Ba0f" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; text-align: left; padding-bottom: 1.5pt">Cash (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="From2023-01-01to2023-06-30" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">4,415,809</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:NetCashProvidedByUsedInInvestingActivities" contextRef="From2022-01-012022-06-30" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">812,646</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">)</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_40E_eus-gaap--NetCashProvidedByUsedInFinancingActivitiesAbstract_iB_zq8u5ZKktDth" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; text-align: left">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_407_eus-gaap--RepaymentsOfShortTermDebt_i01N_di_msNCPBUz52H_zn04XywgFWzh" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left">Repayment of short term line of credit</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:RepaymentsOfShortTermDebt" contextRef="From2023-01-01to2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,818,591</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:RepaymentsOfShortTermDebt" contextRef="From2022-01-012022-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,151,165</ix:nonFraction></td><td style="text-align: left">)</td></tr>
  <tr id="xdx_401_eus-gaap--RepaymentsOfLongTermDebt_i01N_di_msNCPBUz52H_zCMkuWJativg" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left">Repayment of long term debt</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:RepaymentsOfLongTermDebt" contextRef="From2023-01-01to2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">361,265</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:RepaymentsOfLongTermDebt" contextRef="From2022-01-012022-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,945,865</ix:nonFraction></td><td style="text-align: left">)</td></tr>
  <tr id="xdx_403_eus-gaap--ProceedsFromIssuanceOfLongTermDebt_i01_maNCPBUz52H_ziGBlCeCOYHc" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left">Proceeds from loans</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:ProceedsFromIssuanceOfLongTermDebt" contextRef="From2023-01-01to2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,248,292</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:ProceedsFromIssuanceOfLongTermDebt" contextRef="From2022-01-012022-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,194,000</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_406_eus-gaap--PaymentsOfDividends_i01N_di_msNCPBUz52H_zV8niij5xlse" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left">Dividends paid</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:PaymentsOfDividends" contextRef="From2023-01-01to2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">626,777</ix:nonFraction></td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0528">-</span></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40A_eus-gaap--PaymentsOfFinancingCosts_i01N_di_msNCPBUz52H_zOapur6ICicg" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left">Lease financing costs</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:PaymentsOfFinancingCosts" contextRef="From2023-01-01to2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">29,040</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:PaymentsOfFinancingCosts" contextRef="From2022-01-012022-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">30,261</ix:nonFraction></td><td style="text-align: left">)</td></tr>
  <tr id="xdx_40C_eus-gaap--PaymentsToMinorityShareholders_i01N_pp0p0_di_msNCPBUz52H_zJtp7V7vQJq9" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left">Distributions to non-controlling interest</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:PaymentsToMinorityShareholders" contextRef="From2023-01-01to2023-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">387,696</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:PaymentsToMinorityShareholders" contextRef="From2022-01-012022-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">382,856</ix:nonFraction></td><td style="text-align: left">)</td></tr>
  <tr id="xdx_403_eus-gaap--ProceedsFromIssuanceOfCommonStock_i01_maNCPBUz52H_zxGQADU5lMB4" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left; padding-bottom: 1.5pt">Proceeds of issuance of common 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:ProceedsFromIssuanceOfCommonStock" contextRef="From2023-01-01to2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">13,600</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:ProceedsFromIssuanceOfCommonStock" contextRef="From2022-01-012022-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">74,020</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>&#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_407_eus-gaap--NetCashProvidedByUsedInFinancingActivities_i01T_mtNCPBUz52H_maCCERCzHnI_zbgNkwlr9ne9" style="vertical-align: bottom; background-color: White">
    <td style="font-weight: bold; text-align: left; padding-bottom: 1.5pt">Cash (used in) 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="From2023-01-01to2023-06-30" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">1,961,477</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:NetCashProvidedByUsedInFinancingActivities" contextRef="From2022-01-012022-06-30" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">1,242,127</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>&#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_40E_eus-gaap--EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations_maCCERCzHnI_z0Q5gJm82T6e" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1.5pt">Effect of exchange rate changes on cash</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:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" contextRef="From2023-01-01to2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">59,406</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:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" contextRef="From2022-01-012022-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">40,636</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>&#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_409_eus-gaap--CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_iT_mtCCERCzHnI_zJy9Q5Shl56l" style="vertical-align: bottom; background-color: White">
    <td style="font-weight: bold; text-align: left">Inflow (outflow) of cash</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" contextRef="From2023-01-01to2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,608,895</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="From2022-01-012022-06-30" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">1,221,601</ix:nonFraction></td><td style="text-align: left">)</td></tr>
  <tr id="xdx_40E_eus-gaap--CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations_iS_zq7POBALPHnd" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1.5pt">Cash and cash equivalents, beginning</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="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">6,815,099</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="AsOf2021-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">6,735,574</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><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--CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations_iE_zaUTuhktYoNg" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; text-align: left; padding-bottom: 1.5pt">Cash and cash equivalents, ending</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:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" contextRef="AsOf2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">8,423,994</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:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" contextRef="AsOf2022-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">5,513,973</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><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--CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsAbstract_iB" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Cash and cash equivalents are comprised of:</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--CashEquivalentsAtCarryingValue_iE_zzb5bQTvZnt9" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Cash and cash equivalents</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction name="us-gaap:CashEquivalentsAtCarryingValue" contextRef="AsOf2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">7,413,753</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:CashEquivalentsAtCarryingValue" contextRef="AsOf2022-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">4,488,626</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_403_eus-gaap--ShortTermInvestments_iE_zIc4f3EHrFK" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1.5pt">Term deposits</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:ShortTermInvestments" contextRef="AsOf2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,010,241</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:ShortTermInvestments" contextRef="AsOf2022-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,025,347</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations_iE_pp0p0_zpYtFXJ8YNhk" style="vertical-align: bottom; background-color: White">
    <td><span style="display: none; font-family: Times New Roman, Times, Serif; font-size: 10pt">Cash
    resources</span></td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" contextRef="AsOf2023-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">8,423,994</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:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" contextRef="AsOf2022-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">5,513,973</ix:nonFraction></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: 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_40A_eus-gaap--SupplementalCashFlowInformationAbstract_iB_zwC8ueCA8GQ5" style="vertical-align: bottom; background-color: White">
    <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--IncomeTaxesPaidNet_i01_zu439xFEEdQe" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Income taxes paid</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:nonFraction name="us-gaap:IncomeTaxesPaidNet" contextRef="From2023-01-01to2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">248,572</ix:nonFraction></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: xdx2ixbrl0570">-</span></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_406_eus-gaap--InterestPaidNet_i01_zw17uJBxmFL2" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Interest paid</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction name="us-gaap:InterestPaidNet" contextRef="From2023-01-01to2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">250,368</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:InterestPaidNet" contextRef="From2022-01-012022-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">109,457</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_409_ecustom--InventoryAdditionsInAccountsPayable_i01_zsaAQ18fojJa" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1.5pt">Inventory additions in accounts payable</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="FSI:InventoryAdditionsInAccountsPayable" contextRef="From2023-01-01to2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">250,110</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="FSI:InventoryAdditionsInAccountsPayable" contextRef="From2022-01-012022-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">580,034</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  </table>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#8212;
See Notes to Unaudited Condensed Interim Consolidated Financial Statements &#8212;</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt; text-transform: uppercase"><b>FLEXIBLE
SOLUTIONS INTERNATIONAL, INC.</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 4.65pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt; text-transform: uppercase"><b><span id="a_007"></span>CONDENSED
INTERIM Consolidated Statements of Stockholders&#8217; Equity</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 4.65pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>(U.S.
Dollars &#8211; Unaudited)</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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_308_114_zYwtEcthCnZd" summary="xdx: Statement - Condensed Interim Consolidated Statements of Stockholders&apos; Equity (Unaudited)" style="font: 8pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom">
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: bold 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font: bold 8pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">Shares</span></td><td style="font: bold 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td colspan="2" id="xdx_4B8_us-gaap--StatementEquityComponentsAxis_us-gaap--CommonStockMember_zNRdvlGiq5Xk" style="border-bottom: Black 1.5pt solid; font: 8pt Times New Roman, Times, Serif; text-align: center"><p style="font: 8pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><b>Par</b></span></p> <p style="font: 8pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><b>Value</b></span></p></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td colspan="2" id="xdx_4B4_us-gaap--StatementEquityComponentsAxis_custom--CapitalInExcessOfParValueMember_zJ6nOb98Jro3" style="border-bottom: Black 1.5pt solid; font: 8pt Times New Roman, Times, Serif; text-align: center"><p style="font: 8pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><b>Capital
                                            in</b></span></p> <p style="font: 8pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><b>Excess
                                            of</b></span></p> <p style="font: 8pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><b>Par
                                            Value</b></span></p></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td colspan="2" id="xdx_4B2_us-gaap--StatementEquityComponentsAxis_us-gaap--RetainedEarningsMember_zYlrYuLrRVg3" style="border-bottom: Black 1.5pt solid; font: 8pt Times New Roman, Times, Serif; text-align: center"><p style="font: 8pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><b>Accumulated</b></span></p> <p style="font: 8pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><b>Earnings</b></span></p></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td colspan="2" id="xdx_4BB_us-gaap--StatementEquityComponentsAxis_us-gaap--AccumulatedOtherComprehensiveIncomeMember_z3FnBphf5Tjd" style="border-bottom: Black 1.5pt solid; font: 8pt Times New Roman, Times, Serif; text-align: center"><p style="font: 8pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><b>Other</b></span></p> <p style="font: 8pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><b>Comprehensive</b></span></p> <p style="font: 8pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><b>Income
                                            (Loss)</b></span></p></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: bold 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td colspan="2" id="xdx_4BA_us-gaap--StatementEquityComponentsAxis_us-gaap--ParentMember_z0ZNI0wRHWy1" style="border-bottom: Black 1.5pt solid; font: bold 8pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">Total</span></td><td style="font: bold 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td colspan="2" id="xdx_4BC_us-gaap--StatementEquityComponentsAxis_us-gaap--NoncontrollingInterestMember_z7jrxTLMQ455" style="border-bottom: Black 1.5pt solid; font: 8pt Times New Roman, Times, Serif; text-align: center"><p style="font: 8pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><b>Non-</b></span></p> <p style="font: 8pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><b>Controlling
                                            Interests</b></span></p></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td colspan="2" id="xdx_4BA_zWD3C1xlWHqh" style="border-bottom: Black 1.5pt solid; font: 8pt Times New Roman, Times, Serif; text-align: center"><p style="font: 8pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><b>Total
                                            </b></span></p> <p style="font: 8pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><b>Stockholders&#8217;</b></span></p> <p style="font: 8pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><b>Equity</b></span></p></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td></tr>
  <tr style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom">
    <td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td colspan="2" style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td colspan="2" style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td colspan="2" style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td colspan="2" style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td colspan="2" style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td colspan="2" style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td colspan="2" style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td colspan="2" style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td></tr>
  <tr id="xdx_43C_c20230101__20230331_eus-gaap--StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_iS_zy8AvHiRZly9" style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font: bold 8pt Times New Roman, Times, Serif; width: 28%"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">Balance
    December 31, 2022</span></td><td style="font: bold 8pt Times New Roman, Times, Serif; width: 2%"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: bold 8pt Times New Roman, Times, Serif; width: 1%; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td id="xdx_98F_eus-gaap--SharesOutstanding_iS_pid_c20230101__20230331__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_zELlC1vM36B4" title="Balance, shares" style="font: bold 8pt Times New Roman, Times, Serif; width: 5%; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><ix:nonFraction name="us-gaap:SharesOutstanding" contextRef="AsOf2022-12-31_us-gaap_CommonStockMember" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">12,426,260</ix:nonFraction></span></td><td style="font: bold 8pt Times New Roman, Times, Serif; width: 1%; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: bold 8pt Times New Roman, Times, Serif; width: 2%"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: bold 8pt Times New Roman, Times, Serif; width: 1%; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">$</span></td><td style="font: bold 8pt Times New Roman, Times, Serif; width: 5%; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2022-12-31_us-gaap_CommonStockMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">12,426</ix:nonFraction></span></td><td style="font: bold 8pt Times New Roman, Times, Serif; width: 1%; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: bold 8pt Times New Roman, Times, Serif; width: 2%"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: bold 8pt Times New Roman, Times, Serif; width: 1%; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">$</span></td><td style="font: bold 8pt Times New Roman, Times, Serif; width: 5%; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2022-12-31_custom_CapitalInExcessOfParValueMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">17,523,345</ix:nonFraction></span></td><td style="font: bold 8pt Times New Roman, Times, Serif; width: 1%; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: bold 8pt Times New Roman, Times, Serif; width: 2%"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: bold 8pt Times New Roman, Times, Serif; width: 1%; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">$</span></td><td style="font: bold 8pt Times New Roman, Times, Serif; width: 5%; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2022-12-31_us-gaap_RetainedEarningsMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">15,903,964</ix:nonFraction></span></td><td style="font: bold 8pt Times New Roman, Times, Serif; width: 1%; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: bold 8pt Times New Roman, Times, Serif; width: 2%"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: bold 8pt Times New Roman, Times, Serif; width: 1%; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">$</span></td><td style="font: bold 8pt Times New Roman, Times, Serif; width: 5%; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">(<ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2022-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">805,799</ix:nonFraction></span></td><td style="font: bold 8pt Times New Roman, Times, Serif; width: 1%; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">)</span></td><td style="font: bold 8pt Times New Roman, Times, Serif; width: 2%"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: bold 8pt Times New Roman, Times, Serif; width: 1%; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">$</span></td><td style="font: bold 8pt Times New Roman, Times, Serif; width: 5%; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2022-12-31_us-gaap_ParentMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">32,633,936</ix:nonFraction></span></td><td style="font: bold 8pt Times New Roman, Times, Serif; width: 1%; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: bold 8pt Times New Roman, Times, Serif; width: 2%"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: bold 8pt Times New Roman, Times, Serif; width: 1%; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">$</span></td><td style="font: bold 8pt Times New Roman, Times, Serif; width: 5%; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2022-12-31_us-gaap_NoncontrollingInterestMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,605,034</ix:nonFraction></span></td><td style="font: bold 8pt Times New Roman, Times, Serif; width: 1%; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: bold 8pt Times New Roman, Times, Serif; width: 2%"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: bold 8pt Times New Roman, Times, Serif; width: 1%; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">$</span></td><td style="font: bold 8pt Times New Roman, Times, Serif; width: 5%; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;&#160;&#160;<ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">35,238,970</ix:nonFraction></span></td><td style="font: bold 8pt Times New Roman, Times, Serif; width: 1%; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td></tr>
  <tr id="xdx_40D_eus-gaap--OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent_zrisHSXydYjh" style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: White">
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">Translation
    adjustment</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#8212;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><span style="-sec-ix-hidden: xdx2ixbrl0588">&#8212;</span></span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><span style="-sec-ix-hidden: xdx2ixbrl0589">&#8212;</span></span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><span style="-sec-ix-hidden: xdx2ixbrl0590">&#8212;</span></span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">(<ix:nonFraction name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" contextRef="From2023-01-012023-03-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">167,239</ix:nonFraction></span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">)</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">(<ix:nonFraction name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" contextRef="From2023-01-012023-03-31_us-gaap_ParentMember" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">167,239</ix:nonFraction></span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">)</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><span style="-sec-ix-hidden: xdx2ixbrl0593">&#8212;</span></span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">(<ix:nonFraction name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" contextRef="From2023-01-012023-03-31" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">167,239</ix:nonFraction></span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">)</span></td></tr>
  <tr id="xdx_40D_eus-gaap--ProfitLoss_zmecJquTKR2k" style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">Net
    income</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#8212;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><span style="-sec-ix-hidden: xdx2ixbrl0596">&#8212;</span></span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><span style="-sec-ix-hidden: xdx2ixbrl0597">&#8212;</span></span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><ix:nonFraction name="us-gaap:ProfitLoss" contextRef="From2023-01-012023-03-31_us-gaap_RetainedEarningsMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">884,369</ix:nonFraction></span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><span style="-sec-ix-hidden: xdx2ixbrl0599">&#8212;</span></span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><ix:nonFraction name="us-gaap:ProfitLoss" contextRef="From2023-01-012023-03-31_us-gaap_ParentMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">884,369</ix:nonFraction></span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><ix:nonFraction name="us-gaap:ProfitLoss" contextRef="From2023-01-012023-03-31_us-gaap_NoncontrollingInterestMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">80,125</ix:nonFraction></span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><ix:nonFraction name="us-gaap:ProfitLoss" contextRef="From2023-01-012023-03-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">964,494</ix:nonFraction></span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td></tr>
  <tr id="xdx_404_eus-gaap--StockIssuedDuringPeriodValueNewIssues_z3yrLyDA03x9" style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: White">
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">Common
    stock issued</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td id="xdx_98B_eus-gaap--StockIssuedDuringPeriodSharesNewIssues_pid_c20230101__20230331__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_zlB7gqXZ1CI3" title="Common stock issued, shares" style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodSharesNewIssues" contextRef="From2023-01-012023-03-31_us-gaap_CommonStockMember" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">9,272</ix:nonFraction></span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueNewIssues" contextRef="From2023-01-012023-03-31_us-gaap_CommonStockMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">10</ix:nonFraction></span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueNewIssues" contextRef="From2023-01-012023-03-31_custom_CapitalInExcessOfParValueMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">13,590</ix:nonFraction></span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><span style="-sec-ix-hidden: xdx2ixbrl0606">&#8212;</span></span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><span style="-sec-ix-hidden: xdx2ixbrl0607">&#8212;</span></span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueNewIssues" contextRef="From2023-01-012023-03-31_us-gaap_ParentMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">13,600</ix:nonFraction></span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><span style="-sec-ix-hidden: xdx2ixbrl0609">&#8212;</span></span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueNewIssues" contextRef="From2023-01-012023-03-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">13,600</ix:nonFraction></span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td></tr>
  <tr id="xdx_40F_eus-gaap--AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_pp0p0_zAOYyiIYISci" style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left; padding-bottom: 1.5pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">Stock-based
    compensation</span></td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 1.5pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="border-bottom: Black 1.5pt solid; font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="border-bottom: Black 1.5pt solid; font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#8212;</span></td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 1.5pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 1.5pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="border-bottom: Black 1.5pt solid; font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="border-bottom: Black 1.5pt solid; font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><span style="-sec-ix-hidden: xdx2ixbrl0614">&#8212;</span></span></td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 1.5pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 1.5pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="border-bottom: Black 1.5pt solid; font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="border-bottom: Black 1.5pt solid; font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><ix:nonFraction name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" contextRef="From2023-01-012023-03-31_custom_CapitalInExcessOfParValueMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">185,298</ix:nonFraction></span></td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 1.5pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 1.5pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="border-bottom: Black 1.5pt solid; font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="border-bottom: Black 1.5pt solid; font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><span style="-sec-ix-hidden: xdx2ixbrl0616">&#8212;</span></span></td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 1.5pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 1.5pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="border-bottom: Black 1.5pt solid; font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="border-bottom: Black 1.5pt solid; font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><span style="-sec-ix-hidden: xdx2ixbrl0617">&#8212;</span></span></td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 1.5pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 1.5pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="border-bottom: Black 1.5pt solid; font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="border-bottom: Black 1.5pt solid; font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><ix:nonFraction name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" contextRef="From2023-01-012023-03-31_us-gaap_ParentMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">185,298</ix:nonFraction></span></td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 1.5pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 1.5pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="border-bottom: Black 1.5pt solid; font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="border-bottom: Black 1.5pt solid; font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><span style="-sec-ix-hidden: xdx2ixbrl0619">&#8212;</span></span></td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 1.5pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 1.5pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="border-bottom: Black 1.5pt solid; font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="border-bottom: Black 1.5pt solid; font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><ix:nonFraction name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" contextRef="From2023-01-012023-03-31" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">185,298</ix:nonFraction></span></td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 1.5pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td></tr>
  <tr style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: White">
    <td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td></tr>
  <tr id="xdx_438_c20230401__20230630_eus-gaap--StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_iS_zdtHuafDQVtc" style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font: bold 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">Balance
    March 31, 2023</span></td><td style="font: bold 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: bold 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td id="xdx_98B_eus-gaap--SharesOutstanding_iS_pid_c20230401__20230630__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_zcFXX1xpAgo7" title="Balance, shares" style="font: bold 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><ix:nonFraction name="us-gaap:SharesOutstanding" contextRef="AsOf2023-03-31_us-gaap_CommonStockMember" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">12,435,532</ix:nonFraction></span></td><td style="font: bold 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: bold 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: bold 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">$</span></td><td style="font: bold 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2023-03-31_us-gaap_CommonStockMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">12,436</ix:nonFraction></span></td><td style="font: bold 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: bold 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: bold 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">$</span></td><td style="font: bold 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2023-03-31_custom_CapitalInExcessOfParValueMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">17,722,233</ix:nonFraction></span></td><td style="font: bold 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: bold 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: bold 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">$</span></td><td style="font: bold 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2023-03-31_us-gaap_RetainedEarningsMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">16,788,333</ix:nonFraction></span></td><td style="font: bold 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: bold 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: bold 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">$</span></td><td style="font: bold 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">(<ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2023-03-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">973,038</ix:nonFraction></span></td><td style="font: bold 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">)</span></td><td style="font: bold 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: bold 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">$</span></td><td style="font: bold 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2023-03-31_us-gaap_ParentMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">33,549,964</ix:nonFraction></span></td><td style="font: bold 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: bold 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: bold 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">$</span></td><td style="font: bold 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2023-03-31_us-gaap_NoncontrollingInterestMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,685,159</ix:nonFraction></span></td><td style="font: bold 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: bold 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: bold 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">$</span></td><td style="font: bold 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2023-03-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">36,235,123</ix:nonFraction></span></td><td style="font: bold 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td></tr>
  <tr id="xdx_40D_eus-gaap--OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent_z9Z6RHmucG8f" style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: White">
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">Translation
    adjustment</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#8212;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><span style="-sec-ix-hidden: xdx2ixbrl0632">&#8212;</span></span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><span style="-sec-ix-hidden: xdx2ixbrl0633">&#8212;</span></span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><span style="-sec-ix-hidden: xdx2ixbrl0634">&#8212;</span></span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><ix:nonFraction name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" contextRef="From2023-04-012023-06-30_us-gaap_AccumulatedOtherComprehensiveIncomeMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">226,645</ix:nonFraction></span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><ix:nonFraction name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" contextRef="From2023-04-012023-06-30_us-gaap_ParentMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">226,645</ix:nonFraction></span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><span style="-sec-ix-hidden: xdx2ixbrl0637">&#8212;</span></span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><ix:nonFraction name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" contextRef="From2023-04-012023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">226,645</ix:nonFraction></span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td></tr>
  <tr id="xdx_40D_eus-gaap--ProfitLoss_z23JUu7jcgr5" style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">Net
    income</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#8212;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><span style="-sec-ix-hidden: xdx2ixbrl0640">&#8212;</span></span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><span style="-sec-ix-hidden: xdx2ixbrl0641">&#8212;</span></span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><ix:nonFraction name="us-gaap:ProfitLoss" contextRef="From2023-04-012023-06-30_us-gaap_RetainedEarningsMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">809,865</ix:nonFraction></span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><span style="-sec-ix-hidden: xdx2ixbrl0643">&#8212;</span></span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><ix:nonFraction name="us-gaap:ProfitLoss" contextRef="From2023-04-012023-06-30_us-gaap_ParentMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">809,865</ix:nonFraction></span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><ix:nonFraction name="us-gaap:ProfitLoss" contextRef="From2023-04-012023-06-30_us-gaap_NoncontrollingInterestMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">184,862</ix:nonFraction></span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><ix:nonFraction name="us-gaap:ProfitLoss" contextRef="From2023-04-012023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">994,727</ix:nonFraction></span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td></tr>
  <tr id="xdx_40C_eus-gaap--Dividends_iN_di_zBkZOF7ZEm5j" style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: White">
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">Dividends
    paid</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#8212;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><span style="-sec-ix-hidden: xdx2ixbrl0648">&#8212;</span></span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><span style="-sec-ix-hidden: xdx2ixbrl0649">&#8212;</span></span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">(<ix:nonFraction name="us-gaap:Dividends" contextRef="From2023-04-012023-06-30_us-gaap_RetainedEarningsMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">626,777</ix:nonFraction></span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">)</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><span style="-sec-ix-hidden: xdx2ixbrl0651">&#8212;</span></span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">(<ix:nonFraction name="us-gaap:Dividends" contextRef="From2023-04-012023-06-30_us-gaap_ParentMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">626,777</ix:nonFraction></span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">)</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><span style="-sec-ix-hidden: xdx2ixbrl0653">&#8212;</span></span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">(<ix:nonFraction name="us-gaap:Dividends" contextRef="From2023-04-012023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">626,777</ix:nonFraction></span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">)</span></td></tr>
  <tr id="xdx_406_eus-gaap--NoncontrollingInterestIncreaseFromBusinessCombination_zpzHR6iXlhl2" style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">Non-controlling
    interest of 317 Mendota LLC</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#8212;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><span style="-sec-ix-hidden: xdx2ixbrl0656">&#8212;</span></span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><span style="-sec-ix-hidden: xdx2ixbrl0657">&#8212;</span></span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><span style="-sec-ix-hidden: xdx2ixbrl0658">&#8212;</span></span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><span style="-sec-ix-hidden: xdx2ixbrl0659">&#8212;</span></span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><span style="-sec-ix-hidden: xdx2ixbrl0660">&#8212;</span></span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><ix:nonFraction name="us-gaap:NoncontrollingInterestIncreaseFromBusinessCombination" contextRef="From2023-04-012023-06-30_us-gaap_NoncontrollingInterestMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">200,000</ix:nonFraction></span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><ix:nonFraction name="us-gaap:NoncontrollingInterestIncreaseFromBusinessCombination" contextRef="From2023-04-012023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">200,000</ix:nonFraction></span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td></tr>
  <tr id="xdx_407_eus-gaap--MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders_iN_pp0p0_di_zywTzJpnl5Ja" style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: White">
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">Distributions
    to noncontrolling interests</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#8212;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><span style="-sec-ix-hidden: xdx2ixbrl0664">&#8212;</span></span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><span style="-sec-ix-hidden: xdx2ixbrl0665">&#8212;</span></span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><span style="-sec-ix-hidden: xdx2ixbrl0666">&#8212;</span></span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><span style="-sec-ix-hidden: xdx2ixbrl0667">&#8212;</span></span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><span style="-sec-ix-hidden: xdx2ixbrl0668">&#8212;</span></span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">(<ix:nonFraction name="us-gaap:MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders" contextRef="From2023-04-012023-06-30_us-gaap_NoncontrollingInterestMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">387,696</ix:nonFraction></span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">)</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">(<ix:nonFraction name="us-gaap:MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders" contextRef="From2023-04-012023-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">387,696</ix:nonFraction></span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">)</span></td></tr>
  <tr id="xdx_40F_eus-gaap--AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_pp0p0_zqefcxwk9xm" style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left; padding-bottom: 1.5pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">Stock-based
    compensation</span></td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 1.5pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="border-bottom: Black 1.5pt solid; font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="border-bottom: Black 1.5pt solid; font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#8212;</span></td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 1.5pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 1.5pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="border-bottom: Black 1.5pt solid; font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="border-bottom: Black 1.5pt solid; font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><span style="-sec-ix-hidden: xdx2ixbrl0672">&#8212;</span></span></td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 1.5pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 1.5pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="border-bottom: Black 1.5pt solid; font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="border-bottom: Black 1.5pt solid; font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><ix:nonFraction name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" contextRef="From2023-04-012023-06-30_custom_CapitalInExcessOfParValueMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">181,228</ix:nonFraction></span></td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 1.5pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 1.5pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="border-bottom: Black 1.5pt solid; font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="border-bottom: Black 1.5pt solid; font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><span style="-sec-ix-hidden: xdx2ixbrl0674">&#8212;</span></span></td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 1.5pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 1.5pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="border-bottom: Black 1.5pt solid; font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="border-bottom: Black 1.5pt solid; font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><span style="-sec-ix-hidden: xdx2ixbrl0675">&#8212;</span></span></td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 1.5pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 1.5pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="border-bottom: Black 1.5pt solid; font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="border-bottom: Black 1.5pt solid; font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><ix:nonFraction name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" contextRef="From2023-04-012023-06-30_us-gaap_ParentMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">181,228</ix:nonFraction></span></td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 1.5pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 1.5pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="border-bottom: Black 1.5pt solid; font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="border-bottom: Black 1.5pt solid; font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><span style="-sec-ix-hidden: xdx2ixbrl0677">&#8212;</span></span></td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 1.5pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 1.5pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="border-bottom: Black 1.5pt solid; font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="border-bottom: Black 1.5pt solid; font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><ix:nonFraction name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" contextRef="From2023-04-012023-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">181,228</ix:nonFraction></span></td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 1.5pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td></tr>
  <tr id="xdx_438_c20230401__20230630_eus-gaap--StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_iE_zOvhLruytsVb" style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: White">
    <td style="font: bold 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">Balance
    June 30, 2023</span></td><td style="font: bold 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: bold 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td id="xdx_980_eus-gaap--SharesOutstanding_iE_pid_c20230401__20230630__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_z30JJXhKFmXb" title="Ending balance, shares" style="font: bold 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><ix:nonFraction name="us-gaap:SharesOutstanding" contextRef="AsOf2023-06-30_us-gaap_CommonStockMember" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">12,435,532</ix:nonFraction></span></td><td style="font: bold 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: bold 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: bold 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">$</span></td><td style="font: bold 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2023-06-30_us-gaap_CommonStockMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">12,436</ix:nonFraction></span></td><td style="font: bold 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: bold 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: bold 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">$</span></td><td style="font: bold 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2023-06-30_custom_CapitalInExcessOfParValueMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">17,903,461</ix:nonFraction></span></td><td style="font: bold 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: bold 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: bold 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">$</span></td><td style="font: bold 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2023-06-30_us-gaap_RetainedEarningsMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">16,971,421</ix:nonFraction></span></td><td style="font: bold 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: bold 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: bold 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">$</span></td><td style="font: bold 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">(<ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2023-06-30_us-gaap_AccumulatedOtherComprehensiveIncomeMember" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">746,393</ix:nonFraction></span></td><td style="font: bold 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">)</span></td><td style="font: bold 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: bold 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">$</span></td><td style="font: bold 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2023-06-30_us-gaap_ParentMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">34,140,925</ix:nonFraction></span></td><td style="font: bold 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: bold 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: bold 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">$</span></td><td style="font: bold 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2023-06-30_us-gaap_NoncontrollingInterestMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,682,325</ix:nonFraction></span></td><td style="font: bold 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: bold 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: bold 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">$</span></td><td style="font: bold 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">36,823,250</ix:nonFraction></span></td><td style="font: bold 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td></tr>
  </table>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#8212;
See Notes to Unaudited Condensed Interim Consolidated Financial Statements &#8211;</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt; text-transform: uppercase"><b>FLEXIBLE
SOLUTIONS INTERNATIONAL, INC.</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt; text-transform: uppercase"><b>CONDENSED
INTERIM Consolidated Statements of Stockholders&#8217; Equity</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>(U.S.
Dollars &#8211; Unaudited)</b></span></p>

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

<table cellpadding="0" cellspacing="0" style="font: 8pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom">
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: bold 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font: bold 8pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">Shares</span></td><td style="font: bold 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font: 8pt Times New Roman, Times, Serif; text-align: center"><p style="font: 8pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><b>Par</b></span></p> <p style="font: 8pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><b>Value</b></span></p></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font: 8pt Times New Roman, Times, Serif; text-align: center"><p style="font: 8pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><b>Capital
                                            in</b></span></p> <p style="font: 8pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><b>Excess
                                            of</b></span></p> <p style="font: 8pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><b>Par
                                            Value</b></span></p></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font: 8pt Times New Roman, Times, Serif; text-align: center"><p style="font: 8pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><b>Accumulated</b></span></p> <p style="font: 8pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><b>Earnings</b></span></p></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font: 8pt Times New Roman, Times, Serif; text-align: center"><p style="font: 8pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><b>Other</b></span></p> <p style="font: 8pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><b>Comprehensive</b></span></p> <p style="font: 8pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><b>Income
                                            (Loss)</b></span></p></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: bold 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font: bold 8pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">Total</span></td><td style="font: bold 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font: 8pt Times New Roman, Times, Serif; text-align: center"><p style="font: 8pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><b>Non-</b></span></p> <p style="font: 8pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><b>Controlling
                                            Interests</b></span></p></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font: 8pt Times New Roman, Times, Serif; text-align: center"><p style="font: 8pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><b>Total
                                            </b></span></p> <p style="font: 8pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><b>Stockholders&#8217;</b></span></p> <p style="font: 8pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><b>Equity</b></span></p></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td></tr>
  <tr style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom">
    <td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td colspan="2" style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td colspan="2" style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td colspan="2" style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td colspan="2" style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td colspan="2" style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td colspan="2" style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td colspan="2" style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td colspan="2" style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td></tr>
  <tr id="xdx_431_c20220101__20220331_eus-gaap--StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_iS_zx1RRS3MiQX8" style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font: bold 8pt Times New Roman, Times, Serif; width: 28%"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">Balance
    December 31, 2021</span></td><td style="font: bold 8pt Times New Roman, Times, Serif; width: 2%"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: bold 8pt Times New Roman, Times, Serif; width: 1%; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td id="xdx_98C_eus-gaap--SharesOutstanding_iS_pid_c20220101__20220331__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_zKmQACfueLth" title="Balance, shares" style="font: bold 8pt Times New Roman, Times, Serif; width: 5%; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><ix:nonFraction name="us-gaap:SharesOutstanding" contextRef="AsOf2021-12-31_us-gaap_CommonStockMember" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">12,355,246</ix:nonFraction></span></td><td style="font: bold 8pt Times New Roman, Times, Serif; width: 1%; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: bold 8pt Times New Roman, Times, Serif; width: 2%"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: bold 8pt Times New Roman, Times, Serif; width: 1%; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">$</span></td><td style="font: bold 8pt Times New Roman, Times, Serif; width: 5%; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2021-12-31_us-gaap_CommonStockMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">12,355</ix:nonFraction></span></td><td style="font: bold 8pt Times New Roman, Times, Serif; width: 1%; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: bold 8pt Times New Roman, Times, Serif; width: 2%"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: bold 8pt Times New Roman, Times, Serif; width: 1%; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">$</span></td><td style="font: bold 8pt Times New Roman, Times, Serif; width: 5%; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2021-12-31_custom_CapitalInExcessOfParValueMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">16,983,648</ix:nonFraction></span></td><td style="font: bold 8pt Times New Roman, Times, Serif; width: 1%; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: bold 8pt Times New Roman, Times, Serif; width: 2%"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: bold 8pt Times New Roman, Times, Serif; width: 1%; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">$</span></td><td style="font: bold 8pt Times New Roman, Times, Serif; width: 5%; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2021-12-31_us-gaap_RetainedEarningsMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">8,882,360</ix:nonFraction></span></td><td style="font: bold 8pt Times New Roman, Times, Serif; width: 1%; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: bold 8pt Times New Roman, Times, Serif; width: 2%"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: bold 8pt Times New Roman, Times, Serif; width: 1%; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">$</span></td><td style="font: bold 8pt Times New Roman, Times, Serif; width: 5%; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">(<ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2021-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">775,730</ix:nonFraction></span></td><td style="font: bold 8pt Times New Roman, Times, Serif; width: 1%; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">)</span></td><td style="font: bold 8pt Times New Roman, Times, Serif; width: 2%"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: bold 8pt Times New Roman, Times, Serif; width: 1%; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">$</span></td><td style="font: bold 8pt Times New Roman, Times, Serif; width: 5%; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2021-12-31_us-gaap_ParentMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">25,102,633</ix:nonFraction></span></td><td style="font: bold 8pt Times New Roman, Times, Serif; width: 1%; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: bold 8pt Times New Roman, Times, Serif; width: 2%"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: bold 8pt Times New Roman, Times, Serif; width: 1%; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">$</span></td><td style="font: bold 8pt Times New Roman, Times, Serif; width: 5%; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2021-12-31_us-gaap_NoncontrollingInterestMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,602,843</ix:nonFraction></span></td><td style="font: bold 8pt Times New Roman, Times, Serif; width: 1%; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: bold 8pt Times New Roman, Times, Serif; width: 2%"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: bold 8pt Times New Roman, Times, Serif; width: 1%; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">$</span></td><td style="font: bold 8pt Times New Roman, Times, Serif; width: 5%; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;&#160;&#160;<ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2021-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">27,705,476</ix:nonFraction></span></td><td style="font: bold 8pt Times New Roman, Times, Serif; width: 1%; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td></tr>
  <tr id="xdx_40D_eus-gaap--OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent_zFcvJNQdkyHe" style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: White">
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">Translation
    adjustment</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#8212;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><span style="-sec-ix-hidden: xdx2ixbrl0700">&#8212;</span></span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><span style="-sec-ix-hidden: xdx2ixbrl0701">&#8212;</span></span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><span style="-sec-ix-hidden: xdx2ixbrl0702">&#8212;</span></span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><ix:nonFraction name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" contextRef="From2022-01-012022-03-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">42,543</ix:nonFraction></span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><ix:nonFraction name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" contextRef="From2022-01-012022-03-31_us-gaap_ParentMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">42,543</ix:nonFraction></span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><span style="-sec-ix-hidden: xdx2ixbrl0705">&#8212;</span></span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><ix:nonFraction name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" contextRef="From2022-01-012022-03-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">42,543</ix:nonFraction></span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td></tr>
  <tr id="xdx_40D_eus-gaap--ProfitLoss_z0yTQR3IdBC8" style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">Net
    income</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#8212;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><span style="-sec-ix-hidden: xdx2ixbrl0708">&#8212;</span></span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><span style="-sec-ix-hidden: xdx2ixbrl0709">&#8212;</span></span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><ix:nonFraction name="us-gaap:ProfitLoss" contextRef="From2022-01-012022-03-31_us-gaap_RetainedEarningsMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,533,059</ix:nonFraction></span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><span style="-sec-ix-hidden: xdx2ixbrl0711">&#8212;</span></span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><ix:nonFraction name="us-gaap:ProfitLoss" contextRef="From2022-01-012022-03-31_us-gaap_ParentMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,533,059</ix:nonFraction></span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><ix:nonFraction name="us-gaap:ProfitLoss" contextRef="From2022-01-012022-03-31_us-gaap_NoncontrollingInterestMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">144,477</ix:nonFraction></span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><ix:nonFraction name="us-gaap:ProfitLoss" contextRef="From2022-01-012022-03-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,677,536</ix:nonFraction></span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td></tr>
  <tr id="xdx_404_eus-gaap--StockIssuedDuringPeriodValueNewIssues_zMhlZD9D11Gl" style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: White">
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">Common
    stock issued</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td id="xdx_988_eus-gaap--StockIssuedDuringPeriodSharesNewIssues_pid_c20220101__20220331__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_zbzSOfe84Eb9" title="Common stock issued, shares" style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodSharesNewIssues" contextRef="From2022-01-012022-03-31_us-gaap_CommonStockMember" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">22,500</ix:nonFraction></span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueNewIssues" contextRef="From2022-01-012022-03-31_us-gaap_CommonStockMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">23</ix:nonFraction></span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueNewIssues" contextRef="From2022-01-012022-03-31_custom_CapitalInExcessOfParValueMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">56,917</ix:nonFraction></span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><span style="-sec-ix-hidden: xdx2ixbrl0718">&#8212;</span></span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><span style="-sec-ix-hidden: xdx2ixbrl0719">&#8212;</span></span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueNewIssues" contextRef="From2022-01-012022-03-31_us-gaap_ParentMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">56,940</ix:nonFraction></span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><span style="-sec-ix-hidden: xdx2ixbrl0721">&#8212;</span></span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueNewIssues" contextRef="From2022-01-012022-03-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">56,940</ix:nonFraction></span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td></tr>
  <tr id="xdx_407_eus-gaap--MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders_iN_pp0p0_di_zxe2e4VgON9k" style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">Distributions
    to non-controlling interests</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#8212;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><span style="-sec-ix-hidden: xdx2ixbrl0726">&#8212;</span></span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><span style="-sec-ix-hidden: xdx2ixbrl0727">&#8212;</span></span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><span style="-sec-ix-hidden: xdx2ixbrl0728">&#8212;</span></span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><span style="-sec-ix-hidden: xdx2ixbrl0729">&#8212;</span></span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><span style="-sec-ix-hidden: xdx2ixbrl0730">&#8212;</span></span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">(<ix:nonFraction name="us-gaap:MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders" contextRef="From2022-01-012022-03-31_us-gaap_NoncontrollingInterestMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">265,922</ix:nonFraction></span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">)</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">(<ix:nonFraction name="us-gaap:MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders" contextRef="From2022-01-012022-03-31" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">265,922</ix:nonFraction></span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">)</span></td></tr>
  <tr id="xdx_40F_eus-gaap--AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_pp0p0_zTtFevDjEDs4" style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: White">
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left; padding-bottom: 1.5pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">Stock-based
    compensation</span></td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 1.5pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="border-bottom: Black 1.5pt solid; font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="border-bottom: Black 1.5pt solid; font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#8212;</span></td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 1.5pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 1.5pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="border-bottom: Black 1.5pt solid; font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="border-bottom: Black 1.5pt solid; font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><span style="-sec-ix-hidden: xdx2ixbrl0734">&#8212;</span></span></td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 1.5pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 1.5pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="border-bottom: Black 1.5pt solid; font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="border-bottom: Black 1.5pt solid; font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><ix:nonFraction name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" contextRef="From2022-01-012022-03-31_custom_CapitalInExcessOfParValueMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">54,271</ix:nonFraction></span></td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 1.5pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 1.5pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="border-bottom: Black 1.5pt solid; font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="border-bottom: Black 1.5pt solid; font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><span style="-sec-ix-hidden: xdx2ixbrl0736">&#8212;</span></span></td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 1.5pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 1.5pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="border-bottom: Black 1.5pt solid; font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="border-bottom: Black 1.5pt solid; font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><span style="-sec-ix-hidden: xdx2ixbrl0737">&#8212;</span></span></td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 1.5pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 1.5pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="border-bottom: Black 1.5pt solid; font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="border-bottom: Black 1.5pt solid; font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><ix:nonFraction name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" contextRef="From2022-01-012022-03-31_us-gaap_ParentMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">54,271</ix:nonFraction></span></td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 1.5pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 1.5pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="border-bottom: Black 1.5pt solid; font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="border-bottom: Black 1.5pt solid; font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><span style="-sec-ix-hidden: xdx2ixbrl0739">&#8212;</span></span></td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 1.5pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 1.5pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="border-bottom: Black 1.5pt solid; font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="border-bottom: Black 1.5pt solid; font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><ix:nonFraction name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" contextRef="From2022-01-012022-03-31" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">54,271</ix:nonFraction></span></td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 1.5pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td></tr>
  <tr style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td></tr>
  <tr id="xdx_43B_c20220401__20220630_eus-gaap--StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_iS_zt3Z2IndXVu7" style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: White">
    <td style="font: bold 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">Balance
    March 31, 2022</span></td><td style="font: bold 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: bold 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td id="xdx_98B_eus-gaap--SharesOutstanding_iS_pid_c20220401__20220630__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_zbQPohW9EMae" title="Balance, shares" style="font: bold 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><ix:nonFraction name="us-gaap:SharesOutstanding" contextRef="AsOf2022-03-31_us-gaap_CommonStockMember" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">12,377,746</ix:nonFraction></span></td><td style="font: bold 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: bold 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: bold 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">$</span></td><td style="font: bold 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2022-03-31_us-gaap_CommonStockMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">12,378</ix:nonFraction></span></td><td style="font: bold 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: bold 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: bold 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">$</span></td><td style="font: bold 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2022-03-31_custom_CapitalInExcessOfParValueMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">17,094,836</ix:nonFraction></span></td><td style="font: bold 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: bold 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: bold 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">$</span></td><td style="font: bold 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2022-03-31_us-gaap_RetainedEarningsMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">10,415,419</ix:nonFraction></span></td><td style="font: bold 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: bold 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: bold 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">$</span></td><td style="font: bold 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">(<ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2022-03-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">733,187</ix:nonFraction></span></td><td style="font: bold 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">)</span></td><td style="font: bold 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: bold 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">$</span></td><td style="font: bold 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2022-03-31_us-gaap_ParentMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">26,789,446</ix:nonFraction></span></td><td style="font: bold 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: bold 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: bold 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">$</span></td><td style="font: bold 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2022-03-31_us-gaap_NoncontrollingInterestMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,481,398</ix:nonFraction></span></td><td style="font: bold 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: bold 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: bold 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">$</span></td><td style="font: bold 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2022-03-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">29,270,844</ix:nonFraction></span></td><td style="font: bold 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td></tr>
  <tr id="xdx_43A_c20220401__20220630_eus-gaap--StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_iS_zNqo2wP2SFwj" style="font: 8pt Times New Roman, Times, Serif; display: none; vertical-align: bottom; background-color: White">
    <td style="font: bold 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">Balance</span></td><td style="font: bold 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: bold 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td id="xdx_98D_eus-gaap--SharesOutstanding_iS_pid_c20220401__20220630__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_zSdYbtyXdfk6" title="Balance, shares" style="font: bold 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><ix:nonFraction name="us-gaap:SharesOutstanding" contextRef="AsOf2022-03-31_us-gaap_CommonStockMember" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">12,377,746</ix:nonFraction></span></td><td style="font: bold 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: bold 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: bold 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">$</span></td><td style="font: bold 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2022-03-31_us-gaap_CommonStockMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">12,378</ix:nonFraction></span></td><td style="font: bold 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: bold 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: bold 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">$</span></td><td style="font: bold 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2022-03-31_custom_CapitalInExcessOfParValueMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">17,094,836</ix:nonFraction></span></td><td style="font: bold 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: bold 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: bold 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">$</span></td><td style="font: bold 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2022-03-31_us-gaap_RetainedEarningsMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">10,415,419</ix:nonFraction></span></td><td style="font: bold 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: bold 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: bold 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">$</span></td><td style="font: bold 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">(<ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2022-03-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">733,187</ix:nonFraction></span></td><td style="font: bold 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">)</span></td><td style="font: bold 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: bold 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">$</span></td><td style="font: bold 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2022-03-31_us-gaap_ParentMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">26,789,446</ix:nonFraction></span></td><td style="font: bold 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: bold 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: bold 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">$</span></td><td style="font: bold 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2022-03-31_us-gaap_NoncontrollingInterestMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,481,398</ix:nonFraction></span></td><td style="font: bold 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: bold 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: bold 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">$</span></td><td style="font: bold 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2022-03-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">29,270,844</ix:nonFraction></span></td><td style="font: bold 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td></tr>
<tr id="xdx_40D_eus-gaap--OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent_zfi2dBYKTbra" style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">Translation
    adjustment</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#8212;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><span style="-sec-ix-hidden: xdx2ixbrl0762">&#8212;</span></span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><span style="-sec-ix-hidden: xdx2ixbrl0763">&#8212;</span></span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><span style="-sec-ix-hidden: xdx2ixbrl0764">&#8212;</span></span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">(<ix:nonFraction name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" contextRef="From2022-04-012022-06-30_us-gaap_AccumulatedOtherComprehensiveIncomeMember" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">1,907</ix:nonFraction></span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">)</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">(<ix:nonFraction name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" contextRef="From2022-04-012022-06-30_us-gaap_ParentMember" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">1,907</ix:nonFraction></span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">)</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><span style="-sec-ix-hidden: xdx2ixbrl0767">&#8212;</span></span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">(<ix:nonFraction name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" contextRef="From2022-04-012022-06-30" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">1,907</ix:nonFraction></span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">)</span></td></tr>
  <tr id="xdx_40D_eus-gaap--ProfitLoss_zXGybcS26H71" style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: White">
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">Net
    income</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#8212;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><span style="-sec-ix-hidden: xdx2ixbrl0770">&#8212;</span></span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><span style="-sec-ix-hidden: xdx2ixbrl0771">&#8212;</span></span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><ix:nonFraction name="us-gaap:ProfitLoss" contextRef="From2022-04-012022-06-30_us-gaap_RetainedEarningsMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,662,455</ix:nonFraction></span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><span style="-sec-ix-hidden: xdx2ixbrl0773">&#8212;</span></span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><ix:nonFraction name="us-gaap:ProfitLoss" contextRef="From2022-04-012022-06-30_us-gaap_ParentMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,662,455</ix:nonFraction></span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><ix:nonFraction name="us-gaap:ProfitLoss" contextRef="From2022-04-012022-06-30_us-gaap_NoncontrollingInterestMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">166,115</ix:nonFraction></span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><ix:nonFraction name="us-gaap:ProfitLoss" contextRef="From2022-04-012022-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,828,570</ix:nonFraction></span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td></tr>
  <tr id="xdx_404_eus-gaap--StockIssuedDuringPeriodValueNewIssues_zHJvYjsyEIX1" style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">Common
    stock issued</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td id="xdx_982_eus-gaap--StockIssuedDuringPeriodSharesNewIssues_pid_c20220401__20220630__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_zWHFznMOsMBc" title="Common stock issued, shares" style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodSharesNewIssues" contextRef="From2022-04-012022-06-30_us-gaap_CommonStockMember" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">7,000</ix:nonFraction></span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueNewIssues" contextRef="From2022-04-012022-06-30_us-gaap_CommonStockMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">7</ix:nonFraction></span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueNewIssues" contextRef="From2022-04-012022-06-30_custom_CapitalInExcessOfParValueMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">17,073</ix:nonFraction></span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><span style="-sec-ix-hidden: xdx2ixbrl0780">&#8212;</span></span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><span style="-sec-ix-hidden: xdx2ixbrl0781">&#8212;</span></span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueNewIssues" contextRef="From2022-04-012022-06-30_us-gaap_ParentMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">17,080</ix:nonFraction></span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><span style="-sec-ix-hidden: xdx2ixbrl0783">&#8212;</span></span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueNewIssues" contextRef="From2022-04-012022-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">17,080</ix:nonFraction></span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td></tr>
  <tr id="xdx_407_eus-gaap--MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders_iN_pp0p0_di_zWF6RDEMrXp9" style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: White">
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">Distributions
    to noncontrolling interests</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#8212;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><span style="-sec-ix-hidden: xdx2ixbrl0788">&#8212;</span></span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><span style="-sec-ix-hidden: xdx2ixbrl0789">&#8212;</span></span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><span style="-sec-ix-hidden: xdx2ixbrl0790">&#8212;</span></span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><span style="-sec-ix-hidden: xdx2ixbrl0791">&#8212;</span></span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><span style="-sec-ix-hidden: xdx2ixbrl0792">&#8212;</span></span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">(<ix:nonFraction name="us-gaap:MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders" contextRef="From2022-04-012022-06-30_us-gaap_NoncontrollingInterestMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">116,934</ix:nonFraction></span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">)</span></td><td style="font: 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">(<ix:nonFraction name="us-gaap:MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders" contextRef="From2022-04-012022-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">116,934</ix:nonFraction></span></td><td style="font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">)</span></td></tr>
  <tr id="xdx_40F_eus-gaap--AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_pp0p0_zZ7xe2Qi7kug" style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font: 8pt Times New Roman, Times, Serif; text-align: left; padding-bottom: 1.5pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">Stock-based
    compensation</span></td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 1.5pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="border-bottom: Black 1.5pt solid; font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="border-bottom: Black 1.5pt solid; font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#8212;</span></td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 1.5pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 1.5pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="border-bottom: Black 1.5pt solid; font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="border-bottom: Black 1.5pt solid; font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><span style="-sec-ix-hidden: xdx2ixbrl0796">&#8212;</span></span></td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 1.5pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 1.5pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="border-bottom: Black 1.5pt solid; font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="border-bottom: Black 1.5pt solid; font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><ix:nonFraction name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" contextRef="From2022-04-012022-06-30_custom_CapitalInExcessOfParValueMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">55,194</ix:nonFraction></span></td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 1.5pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 1.5pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="border-bottom: Black 1.5pt solid; font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="border-bottom: Black 1.5pt solid; font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><span style="-sec-ix-hidden: xdx2ixbrl0798">&#8212;</span></span></td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 1.5pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 1.5pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="border-bottom: Black 1.5pt solid; font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="border-bottom: Black 1.5pt solid; font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><span style="-sec-ix-hidden: xdx2ixbrl0799">&#8212;</span></span></td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 1.5pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 1.5pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="border-bottom: Black 1.5pt solid; font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="border-bottom: Black 1.5pt solid; font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><ix:nonFraction name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" contextRef="From2022-04-012022-06-30_us-gaap_ParentMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">55,194</ix:nonFraction></span></td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 1.5pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 1.5pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="border-bottom: Black 1.5pt solid; font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="border-bottom: Black 1.5pt solid; font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><span style="-sec-ix-hidden: xdx2ixbrl0801">&#8212;</span></span></td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 1.5pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 1.5pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="border-bottom: Black 1.5pt solid; font: 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="border-bottom: Black 1.5pt solid; font: 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><ix:nonFraction name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" contextRef="From2022-04-012022-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">55,194</ix:nonFraction></span></td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 1.5pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td></tr>
  <tr id="xdx_43E_c20220401__20220630_eus-gaap--StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_iE_zSWyOXcPhhki" style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: White">
    <td style="font: bold 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">Balance
    June 30, 2022</span></td><td style="font: bold 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: bold 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td id="xdx_982_eus-gaap--SharesOutstanding_iE_pid_c20220401__20220630__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_zL7OAusex4di" title="Ending balance, shares" style="font: bold 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><ix:nonFraction name="us-gaap:SharesOutstanding" contextRef="AsOf2022-06-30_us-gaap_CommonStockMember" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">12,384,746</ix:nonFraction></span></td><td style="font: bold 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: bold 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: bold 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">$</span></td><td style="font: bold 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2022-06-30_us-gaap_CommonStockMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">12,385</ix:nonFraction></span></td><td style="font: bold 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: bold 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: bold 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">$</span></td><td style="font: bold 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2022-06-30_custom_CapitalInExcessOfParValueMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">17,167,103</ix:nonFraction></span></td><td style="font: bold 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: bold 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: bold 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">$</span></td><td style="font: bold 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2022-06-30_us-gaap_RetainedEarningsMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">12,077,874</ix:nonFraction></span></td><td style="font: bold 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: bold 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: bold 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">$</span></td><td style="font: bold 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">(<ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2022-06-30_us-gaap_AccumulatedOtherComprehensiveIncomeMember" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">735,094</ix:nonFraction></span></td><td style="font: bold 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">)</span></td><td style="font: bold 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: bold 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">$</span></td><td style="font: bold 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2022-06-30_us-gaap_ParentMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">28,522,268</ix:nonFraction></span></td><td style="font: bold 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: bold 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: bold 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">$</span></td><td style="font: bold 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2022-06-30_us-gaap_NoncontrollingInterestMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,530,579</ix:nonFraction></span></td><td style="font: bold 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: bold 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: bold 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">$</span></td><td style="font: bold 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2022-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">31,052,847</ix:nonFraction></span></td><td style="font: bold 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td></tr>
  <tr id="xdx_437_c20220401__20220630_eus-gaap--StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_iE_zWRMpXHtfuZi" style="font: 8pt Times New Roman, Times, Serif; display: none; vertical-align: bottom; background-color: White">
    <td style="font: bold 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">Balance
</span></td><td style="font: bold 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: bold 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td id="xdx_984_eus-gaap--SharesOutstanding_iE_pid_c20220401__20220630__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_z49MuqhDdJDb" title="Ending balance, shares" style="font: bold 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><ix:nonFraction name="us-gaap:SharesOutstanding" contextRef="AsOf2022-06-30_us-gaap_CommonStockMember" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">12,384,746</ix:nonFraction></span></td><td style="font: bold 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: bold 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: bold 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">$</span></td><td style="font: bold 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2022-06-30_us-gaap_CommonStockMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">12,385</ix:nonFraction></span></td><td style="font: bold 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: bold 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: bold 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">$</span></td><td style="font: bold 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2022-06-30_custom_CapitalInExcessOfParValueMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">17,167,103</ix:nonFraction></span></td><td style="font: bold 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: bold 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: bold 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">$</span></td><td style="font: bold 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2022-06-30_us-gaap_RetainedEarningsMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">12,077,874</ix:nonFraction></span></td><td style="font: bold 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: bold 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: bold 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">$</span></td><td style="font: bold 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">(<ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2022-06-30_us-gaap_AccumulatedOtherComprehensiveIncomeMember" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">735,094</ix:nonFraction></span></td><td style="font: bold 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">)</span></td><td style="font: bold 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: bold 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">$</span></td><td style="font: bold 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2022-06-30_us-gaap_ParentMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">28,522,268</ix:nonFraction></span></td><td style="font: bold 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: bold 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: bold 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">$</span></td><td style="font: bold 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2022-06-30_us-gaap_NoncontrollingInterestMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,530,579</ix:nonFraction></span></td><td style="font: bold 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="font: bold 8pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td style="font: bold 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">$</span></td><td style="font: bold 8pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2022-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">31,052,847</ix:nonFraction></span></td><td style="font: bold 8pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td></tr>
</table>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; 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: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#8212;
See Notes to Unaudited Condensed Interim Consolidated Financial Statements &#8212;</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>FLEXIBLE
SOLUTIONS INTERNATIONAL, INC. </b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>For
the Period Ended June 30, 2023</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>(U.S.
Dollars)</b></span></p>

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

<ix:nonNumeric contextRef="From2023-01-01to2023-06-30" escape="true" name="us-gaap:BusinessDescriptionAndBasisOfPresentationTextBlock"><p id="xdx_807_eus-gaap--BusinessDescriptionAndBasisOfPresentationTextBlock_zwuieF7RzZ7f" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b>1.
<span id="xdx_82B_z19WeQBfZQdj">BASIS OF PRESENTATION</span></b></span><b><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">.</span></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; 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: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">These
interim condensed consolidated financial statements (&#8220;consolidated financial statements&#8221;) include the accounts of Flexible
Solutions International, Inc. (the &#8220;Company&#8221;), its wholly-owned subsidiaries Flexible Fermentation Ltd., NanoChem Solutions
Inc. (&#8220;NanoChem&#8221;), Flexible Solutions Ltd., Flexible Biomass LP, FS Biomass Inc., NCS Deferred Corp., Natural Chem SEZC Ltd.,
InnFlex Holdings Inc., ENP Peru Investments LLC (&#8220;ENP Peru&#8221;), its <span id="xdx_901_eus-gaap--SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest_pid_dp_uPure_c20230101__20230630__srt--OwnershipAxis__custom--EnpPeruInvestmentsLlcMember_zms28bf4l302"><ix:nonFraction name="us-gaap:SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest" contextRef="From2023-01-012023-06-30_custom_EnpPeruInvestmentsLlcMember" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">100</ix:nonFraction></span>% controlling interest in 317 Mendota LLC, and its <span id="xdx_90A_eus-gaap--SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest_pid_dp_uPure_c20230101__20230630__srt--OwnershipAxis__custom--ENPInvestmentsLLCAndENPMendotaMember_z8GGCSSsQaMh"><ix:nonFraction name="us-gaap:SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest" contextRef="From2023-01-012023-06-30_custom_ENPInvestmentsLLCAndENPMendotaMember" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">65</ix:nonFraction></span></span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">%
controlling interest in ENP Investments, LLC (&#8220;ENP Investments&#8221;) and ENP Mendota, LLC (&#8220;ENP Mendota&#8221;). All inter-company
balances and transactions have been eliminated upon consolidation. The Company was incorporated on May 12, 1998 in the State of Nevada
and had no operations until June 30, 1998. In 2019, the Company redomiciled into Alberta, Canada.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
2022, NanoChem purchased an additional <span id="xdx_900_eus-gaap--SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest_pid_dp_uPure_c20220101__20221231__srt--OwnershipAxis__custom--ENPPeruMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--UnrelatedPartyMember_zATlqh3cWIWd" title="Subsidiary company ownership interest rate"><ix:nonFraction name="us-gaap:SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest" contextRef="From2022-01-012022-12-31_custom_ENPPeruMember_custom_UnrelatedPartyMember" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">50</ix:nonFraction></span>%
in ENP Peru, increasing its share to <span id="xdx_905_ecustom--IncreaseDecreaseInSharePercentage_pid_dp_uPure_c20220101__20221231__srt--OwnershipAxis__custom--ENPPeruMember_zgWZWSvH7XK5" title="Increase decrease in share percentage"><ix:nonFraction name="FSI:IncreaseDecreaseInSharePercentage" contextRef="From2022-01-012022-12-31_custom_ENPPeruMember" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">50</ix:nonFraction></span>%.
ENP Investments owns the remaining <span id="xdx_901_ecustom--RemainingInvestmentOwnedPercentage_pid_dp_uPure_c20220101__20221231__srt--OwnershipAxis__custom--ENPPeruMember_zPgKYpiZzaUc" title="Remaining investment owned percentage"><ix:nonFraction name="FSI:RemainingInvestmentOwnedPercentage" contextRef="From2022-01-012022-12-31_custom_ENPPeruMember" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">8.33</ix:nonFraction></span>%,
of which the Company has a <span id="xdx_90B_eus-gaap--SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest_pid_dp_uPure_c20220101__20220630__srt--OwnershipAxis__custom--ENPPeruMember_zZiY5jHP6Tse" title="Subsidiary company ownership interest rate"><ix:nonFraction name="us-gaap:SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest" contextRef="From2022-01-012022-06-30_custom_ENPPeruMember" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">100</ix:nonFraction></span>%
interest. In 2023, NanoChem purchased the remaining <span id="xdx_90F_ecustom--RemainingInvestmentOwnedPercentage_pid_dp_uPure_c20230101__20230630__srt--OwnershipAxis__custom--ENPPeruMember_z4sLMXwFWoUk" title="Remaining investment owned percentage">nil</span>%
of shares to become sole owner. ENP Peru was previously accounted for under the equity method however, it is now consolidated into
the financial statements from the date control was obtained.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
June 2023, the Company purchased an <span id="xdx_90E_eus-gaap--SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest_pid_dp_uPure_c20230601__20230630__srt--OwnershipAxis__custom--MendotaLLCMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--UnrelatedPartyMember_zqM0cJnr0gvk" title="Subsidiary company ownership interest rate"><ix:nonFraction name="us-gaap:SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest" contextRef="From2023-06-012023-06-30_custom_MendotaLLCMember_custom_UnrelatedPartyMember" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">80</ix:nonFraction></span>%
interest in 317 Mendota LLC, a newly incorporated company established to purchase a large manufacturing building. ENP Investments will
occupy part of this building, freeing up more space in the building owned by ENP Peru for NanoChem. The Company intends to rent the
remainder of space to suitable tenants. The remaining <span id="xdx_902_eus-gaap--SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest_pid_dp_uPure_c20230601__20230630__srt--OwnershipAxis__custom--MendotaLLCMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_z5yataWJ8Nal" title="Subsidiary company ownership interest rate related party"><ix:nonFraction name="us-gaap:SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest" contextRef="From2023-06-012023-06-30_custom_MendotaLLCMember_us-gaap_RelatedPartyMember" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">20</ix:nonFraction>%</span> interest is held by unrelated parties.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company and its subsidiaries develop, manufacture and market specialty chemicals which slow the evaporation of water. One product, HEATSAVR&#174;,
is marketed for use in swimming pools and spas where its use, by slowing the evaporation of water, allows the water to retain a higher
temperature for a longer period of time and thereby reduces the energy required to maintain the desired temperature of the water in the
pool. Another product, WATERSAVR&#174;, is marketed for water conservation in irrigation canals, aquaculture, and reservoirs where its
use slows water loss due to evaporation. In addition to the water conservation products, the Company also manufactures and markets water-soluble
chemicals utilizing thermal polyaspartate biopolymers (hereinafter referred to as &#8220;TPAs&#8221;), which are beta-proteins manufactured
from the common biological amino acid, L-aspartic. TPAs can be formulated to prevent corrosion and scaling in water piping within the
petroleum, chemical, utility and mining industries. TPAs are also used as proteins to enhance fertilizers in improving crop yields and
can be used as additives for household laundry detergents, consumer care products and pesticides. The TPA division also manufactures
two nitrogen conservation products for agriculture that slows nitrogen loss from fields.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
outbreak of the novel strain of coronavirus, specifically identified as &#8220;COVID-19&#8221;, has resulted in a widespread health crisis
that has affected economies and financial markets around the world resulting in an economic downturn. This outbreak may also cause staff
shortages, reduced customer demand, increased government regulations or interventions, all of which may negatively impact the business,
financial condition or results of operations of the Company. The duration and impact of the COVID-19 outbreak is unknown at this time
and it is not possible to reliably estimate the length and severity of these developments.</span></p>

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

</ix:nonNumeric><ix:nonNumeric contextRef="From2023-01-01to2023-06-30" escape="true" name="us-gaap:SignificantAccountingPoliciesTextBlock"><p id="xdx_804_eus-gaap--SignificantAccountingPoliciesTextBlock_zyL9SEagLv89" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b>2.
<span id="xdx_82D_zq9vLdRUBiS2">SIGNIFICANT ACCOUNTING POLICIES</span>.</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
consolidated financial statements of the Company have been prepared by management in accordance with accounting principles generally
accepted in the United States (&#8220;GAAP&#8221;) for interim financial information, applied on a basis consistent for all periods.
Accordingly, they do not include all of the information and disclosures required by U.S. GAAP for a complete set of financial statements.
These consolidated financial statements and notes thereto should be read in conjunction with the audited consolidated financial statements
and notes thereto included in the Company&#8217;s Annual Report on Form 10-K for the year ended December 31, 2022, filed with the Securities
and Exchange Commission on March 31, 2023. In the opinion of management, all adjustments of a normal recurring nature considered necessary
for a fair presentation have been included. The results of operations of any interim period are not necessarily indicative of the results
of operations to be expected for the full fiscal year.</span></p>

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


<ix:exclude><!-- 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 --></ix:exclude>

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

<ix:nonNumeric contextRef="From2023-01-01to2023-06-30" escape="true" name="us-gaap:CashAndCashEquivalentsPolicyTextBlock"><p id="xdx_842_eus-gaap--CashAndCashEquivalentsPolicyTextBlock_zicM2NylsROb" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(a)
<i><span id="xdx_86D_zMrmZPxeghyd">Cash and Cash Equivalents</span></i>.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company considers all highly liquid investments purchased with an original or remaining maturity of less than three months at the date
of purchase to be cash equivalents. Cash and cash equivalents are maintained with several financial institutions.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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="From2023-01-01to2023-06-30" escape="true" name="FSI:TermDepositsPolicyTextBlock"><p id="xdx_84E_ecustom--TermDepositsPolicyTextBlock_zjbKP8uY4eng" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(b)
<i><span id="xdx_865_zmJ6QuodZ3S5">Term Deposits</span>.</i></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
deposits maintained by the Company with banks comprises term deposits. The Company has two term deposits, the first for $<span id="xdx_904_eus-gaap--Deposits_iI_c20230630_zkqkytE7m8Ce" title="Deposit"><ix:nonFraction name="us-gaap:Deposits" contextRef="AsOf2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">700,000</ix:nonFraction></span> that
matures in 2023 and pays interest at a rate of <span id="xdx_90A_eus-gaap--PercentageOfInterestBearingDomesticDepositsToDepositsTimeDeposits_iI_pid_dp_uPure_c20230630_zFSqni8Ckcm" title="Term deposits percent"><ix:nonFraction name="us-gaap:PercentageOfInterestBearingDomesticDepositsToDepositsTimeDeposits" contextRef="AsOf2023-06-30" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">8.25</ix:nonFraction></span>%. If withdrawn before maturity, the greater of the loss of accrued interest or $<span id="xdx_90D_eus-gaap--InterestPayableCurrentAndNoncurrent_iI_c20230630_z8sLaxM5cSig" title="Accured interest"><ix:nonFraction name="us-gaap:InterestPayableCurrentAndNoncurrent" contextRef="AsOf2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">150</ix:nonFraction></span>,
plus 1% of the principal shall be levied. The second term deposit for $<span id="xdx_902_ecustom--OtherTermDeposit_iI_c20230630_zU62d90BQ9Fj" title="Other term deposit"><ix:nonFraction name="FSI:OtherTermDeposit" contextRef="AsOf2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">300,000</ix:nonFraction></span> pays 1.3% interest, matures in 2023 and can be withdrawn
by the Company at any point without prior notice or penalty on the principal.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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="From2023-01-01to2023-06-30" escape="true" name="us-gaap:InventoryPolicyTextBlock"><p id="xdx_84C_eus-gaap--InventoryPolicyTextBlock_zpblHmJSuGpk" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(c)
<i><span id="xdx_864_ztrwkG422oTe">Inventories and Cost of Sales.</span></i></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company has three major classes of inventory: completed goods, work in progress and raw materials and supplies. In all classes inventories
are stated at the lower of cost and net realizable value. Cost is determined on a first-in, first-out basis or weighted average cost
formula to inventories in different subsidiaries. Cost of sales includes all expenditures incurred in bringing the goods to the point
of sale. Inventory costs and costs of sales include direct costs of the raw material, inbound freight charges, warehousing costs, handling
costs (receiving and purchasing) and utilities and overhead expenses related to the Company&#8217;s manufacturing and processing facilities.
Shipping and handling charges billed to customers are included in revenue (2023 - $<span id="xdx_906_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20230630__srt--ProductOrServiceAxis__us-gaap--ShippingAndHandlingMember_zyTno39YuTAf" title="Sales"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2023-01-012023-06-30_us-gaap_ShippingAndHandlingMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">286,290</ix:nonFraction></span>; 2022 - $<span id="xdx_90A_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20220630__srt--ProductOrServiceAxis__us-gaap--ShippingAndHandlingMember_zlEPAGPnoS4k" title="Sales"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2022-01-012022-06-30_us-gaap_ShippingAndHandlingMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">231,106</ix:nonFraction></span>). Shipping and handling costs
incurred are included in cost of goods sold (2023 - $<span id="xdx_904_eus-gaap--CostOfGoodsAndServicesSold_pp0p0_c20230101__20230630__srt--ProductOrServiceAxis__us-gaap--ShippingAndHandlingMember_zKm6msWmGYra" title="Cost of sales"><ix:nonFraction name="us-gaap:CostOfGoodsAndServicesSold" contextRef="From2023-01-012023-06-30_us-gaap_ShippingAndHandlingMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">542,321</ix:nonFraction></span>; 2022 - $<span id="xdx_904_eus-gaap--CostOfGoodsAndServicesSold_pp0p0_c20220101__20220630__srt--ProductOrServiceAxis__us-gaap--ShippingAndHandlingMember_zxZOOAkukJS9" title="Cost of sales"><ix:nonFraction name="us-gaap:CostOfGoodsAndServicesSold" contextRef="From2022-01-012022-06-30_us-gaap_ShippingAndHandlingMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">580,697</ix:nonFraction></span>).</span></p>

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

</ix:nonNumeric><ix:nonNumeric contextRef="From2023-01-01to2023-06-30" escape="true" name="us-gaap:PremiumsReceivableAllowanceForDoubtfulAccountsEstimationMethodologyPolicy"><p id="xdx_84D_eus-gaap--PremiumsReceivableAllowanceForDoubtfulAccountsEstimationMethodologyPolicy_zdssy62Wwhe5" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(d)
<i><span id="xdx_869_zhai0jNlTp2g">Allowance for Doubtful Accounts.</span></i></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company provides an allowance for doubtful accounts when management estimates collectability to be uncertain. Accounts receivable are
continually reviewed to determine which, if any, accounts are doubtful of collection. In making the determination of the appropriate
allowance amount, the Company considers current economic and industry conditions, relationships with each significant customer, overall
customer credit-worthiness and historical experience.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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="From2023-01-01to2023-06-30" escape="true" name="us-gaap:PropertyPlantAndEquipmentPolicyTextBlock"><p id="xdx_843_eus-gaap--PropertyPlantAndEquipmentPolicyTextBlock_z5EGEbnXvXyl" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(e)
<i><span id="xdx_867_zof3ODUmIhkd">Property, Equipment, Leaseholds and Intangible Assets</span>.</i></span></p>

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

<ix:nonNumeric contextRef="From2023-01-01to2023-06-30" escape="true" name="FSI:ScheduleOfMethodOfDepreciationTableTextBlock"><p id="xdx_898_ecustom--ScheduleOfMethodOfDepreciationTableTextBlock_zIliTOh5Ygle" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
following assets are recorded at cost and depreciated using the methods and annual rates shown below:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;<span id="xdx_8B4_z11MQ97gvW02" style="display: none; font-family: Times New Roman, Times, Serif; font-size: 10pt">SCHEDULE
OF METHOD OF DEPRECIATION</span></span></span><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="width: 10%">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 40%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Computer
    hardware</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: 48%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_907_ecustom--DepreciationMethodUsedAndAnnualRate_c20230101__20230630__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--ComputerEquipmentMember_zzenDHYhcKT9" title="Depreciation method used and annual rate"><ix:nonNumeric contextRef="From2023-01-012023-06-30_us-gaap_ComputerEquipmentMember" name="FSI:DepreciationMethodUsedAndAnnualRate">30%
    Declining balance</ix:nonNumeric></span></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td>&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Manufacturing
    equipment</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><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"><span id="xdx_909_ecustom--DepreciationMethodUsedAndAnnualRate_c20230101__20230630__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--MachineryAndEquipmentMember_zHhhXvUgBhEd" title="Depreciation method used and annual rate"><ix:nonNumeric contextRef="From2023-01-012023-06-30_us-gaap_MachineryAndEquipmentMember" name="FSI:DepreciationMethodUsedAndAnnualRate">20%
    Declining balance</ix:nonNumeric></span></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td>&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Office
    equipment</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><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"><span id="xdx_902_ecustom--DepreciationMethodUsedAndAnnualRate_c20230101__20230630__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--OfficeEquipmentMember_zTzepZMin8gj" title="Depreciation method used and annual rate"><ix:nonNumeric contextRef="From2023-01-012023-06-30_us-gaap_OfficeEquipmentMember" name="FSI:DepreciationMethodUsedAndAnnualRate">20%
    Declining balance</ix:nonNumeric></span></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td>&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Boat</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><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"><span id="xdx_908_ecustom--DepreciationMethodUsedAndAnnualRate_c20230101__20230630__us-gaap--PropertyPlantAndEquipmentByTypeAxis__custom--BoatMember_zbY0Kquh1Pue" title="Depreciation method used and annual rate"><ix:nonNumeric contextRef="From2023-01-012023-06-30_custom_BoatMember" name="FSI:DepreciationMethodUsedAndAnnualRate">20%
    Declining balance</ix:nonNumeric></span></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td>&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Building
    and improvements</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><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"><span id="xdx_902_ecustom--DepreciationMethodUsedAndAnnualRate_c20230101__20230630__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--BuildingAndBuildingImprovementsMember_zKSxdAAV8Hdj" title="Depreciation method used and annual rate"><ix:nonNumeric contextRef="From2023-01-012023-06-30_us-gaap_BuildingAndBuildingImprovementsMember" name="FSI:DepreciationMethodUsedAndAnnualRate">10%
    Declining balance</ix:nonNumeric></span></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td>&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Trailer</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><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"><span id="xdx_902_ecustom--DepreciationMethodUsedAndAnnualRate_c20230101__20230630__us-gaap--PropertyPlantAndEquipmentByTypeAxis__custom--TrailerMember_zMtKVexsDpOc" title="Depreciation method used and annual rate"><ix:nonNumeric contextRef="From2023-01-012023-06-30_custom_TrailerMember" name="FSI:DepreciationMethodUsedAndAnnualRate">30%
    Declining balance</ix:nonNumeric></span></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td>&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Automobiles</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><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"><span id="xdx_90E_ecustom--DepreciationMethodUsedAndAnnualRate_c20230101__20230630__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--AutomobilesMember_ziFvXYKfETj1" title="Depreciation method used and annual rate"><ix:nonNumeric contextRef="From2023-01-012023-06-30_us-gaap_AutomobilesMember" name="FSI:DepreciationMethodUsedAndAnnualRate">Straight-line
    over 5 years</ix:nonNumeric></span></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td>&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Patents</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><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"><span id="xdx_907_ecustom--DepreciationMethodUsedAndAnnualRate_c20230101__20230630__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--PatentsMember_z3p0DvDLQby6" title="Depreciation method used and annual rate"><ix:nonNumeric contextRef="From2023-01-012023-06-30_us-gaap_PatentsMember" name="FSI:DepreciationMethodUsedAndAnnualRate">Straight-line
    over 17 years</ix:nonNumeric></span></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td>&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Technology</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><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"><span id="xdx_907_ecustom--DepreciationMethodUsedAndAnnualRate_c20230101__20230630__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--TechnologyEquipmentMember_zoVne9r8J25l" title="Depreciation method used and annual rate"><ix:nonNumeric contextRef="From2023-01-012023-06-30_us-gaap_TechnologyEquipmentMember" name="FSI:DepreciationMethodUsedAndAnnualRate">Straight-line
    over 10 years</ix:nonNumeric></span></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td>&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Leasehold
    improvements</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><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"><span id="xdx_90B_ecustom--DepreciationMethodUsedAndAnnualRate_c20230101__20230630__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--LeaseholdImprovementsMember_z9pVdLIoLHca" title="Depreciation method used and annual rate"><ix:nonNumeric contextRef="From2023-01-012023-06-30_us-gaap_LeaseholdImprovementsMember" name="FSI:DepreciationMethodUsedAndAnnualRate">Straight-line
    over lease term</ix:nonNumeric></span></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td>&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Customer
    relationships </span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><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"><span id="xdx_90F_ecustom--DepreciationMethodUsedAndAnnualRate_c20230101__20230630__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--CustomerRelationshipsMember_z0BOVEoyXCHd" title="Depreciation method used and annual rate"><ix:nonNumeric contextRef="From2023-01-012023-06-30_us-gaap_CustomerRelationshipsMember" name="FSI:DepreciationMethodUsedAndAnnualRate">Straight-line
    over 15 years</ix:nonNumeric></span></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td>&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Software
    </span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><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"><span id="xdx_90D_ecustom--DepreciationMethodUsedAndAnnualRate_c20230101__20230630__us-gaap--PropertyPlantAndEquipmentByTypeAxis__custom--SoftwareMember_zDcmxHehpbL9" title="Depreciation method used and annual rate"><ix:nonNumeric contextRef="From2023-01-012023-06-30_custom_SoftwareMember" name="FSI:DepreciationMethodUsedAndAnnualRate">Straight-line
    over 3 years</ix:nonNumeric></span></span></td></tr>
  </table>
</ix:nonNumeric><p id="xdx_8A0_zSsBvSa3h8bh" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>


<ix:exclude><!-- 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 --></ix:exclude>

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

</ix:nonNumeric><ix:nonNumeric contextRef="From2023-01-01to2023-06-30" escape="true" name="us-gaap:ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock"><p id="xdx_843_eus-gaap--ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock_zPRp3higDPWf" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(f)
<i><span id="xdx_861_zj2qqQc3X2Jf">Impairment of Long-Lived Assets</span></i>.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; 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: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
accordance with FASB Codification Topic 360, <i>Property, Plant and Equipment</i> (ASC 360), the Company reviews long-lived assets, including,
but not limited to, property, equipment and leaseholds, patents and other assets, for impairment annually or whenever events or changes
in circumstances indicate the carrying amounts of assets may not be recoverable. The carrying value of long-lived assets is assessed
for impairment by evaluating operating performance and future undiscounted cash flows of the underlying assets. If the expected future
cash flows of an asset is less than its carrying value, an impairment measurement is indicated. Impairment charges are recorded to the
extent that an asset&#8217;s carrying value exceeds its fair value. Accordingly, actual results could vary significantly from such estimates.
There were no impairment charges during the periods presented.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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="From2023-01-01to2023-06-30" escape="true" name="us-gaap:ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock"><p id="xdx_847_eus-gaap--ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock_zBpveqFDNBP7" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(g)
<i><span id="xdx_860_zCUfYVAKciR8">Foreign Currency</span></i>.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
functional currency of the Company is the U.S. dollar. The functional currency of three of the Company&#8217;s subsidiaries is the Canadian
dollar. The translation of the Canadian dollar to the reporting currency of the Company, the U.S. dollar, is performed for assets and
liabilities using exchange rates in effect at the balance sheet date. Revenue and expense transactions are translated using average exchange
rates prevailing during the year. Translation adjustments arising on conversion of the Company&#8217;s financial statements from the
subsidiary&#8217;s functional currency, Canadian dollars, into the reporting currency, U.S. dollars, are excluded from the determination
of income (loss) and are disclosed as other comprehensive income in the consolidated statements of income and comprehensive income.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Foreign
exchange gains and losses relating to transactions not denominated in the applicable local currency are included in operating income
(loss) if realized during the year and in comprehensive income (loss) if they remain unrealized at the end of the year.</span></p>

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

</ix:nonNumeric><ix:nonNumeric contextRef="From2023-01-01to2023-06-30" escape="true" name="us-gaap:RevenueFromContractWithCustomerPolicyTextBlock"><p id="xdx_840_eus-gaap--RevenueFromContractWithCustomerPolicyTextBlock_zFz0R1K6izM" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.5in; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(h)
<i><span id="xdx_862_z7NhCdkq84Hi">Revenue Recognition.</span></i></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 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 generates revenue primarily from energy and water conservation products and biodegradable polymers, as further discussed in Note
16.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company follows a five-step model for revenue recognition. The five steps are: (1) identification of the contract(s) with the customer,
(2) identification of the performance obligation(s) in the contract(s), (3) determination of the transaction price, (4) allocation of
the transaction price to the performance obligation, and (5) recognition of revenue when (or as) the performance obligation is satisfied.
The Company has fulfilled its performance obligations when control transfers to the customer, which is generally at the time the product
is shipped since risk of loss is transferred to the purchaser upon delivery to the carrier. For shipments which are free-on-board shipping
point, the Company has elected to account for shipping and handling activities as a fulfillment cost rather than as an additional promised
service and performance obligation.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Since
the Company&#8217;s inception, product returns have been insignificant; therefore, no provision has been established for estimated product
returns.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Deferred
revenues consist of products sold to distributors with payment terms greater than the Company&#8217;s customary business terms due to
lack of credit history or operating in a new market in which the Company has no prior experience. The Company defers the recognition
of revenue until the criteria for revenue recognition has been met and payments become due or cash is received from these distributors.</span></p>

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


<ix:exclude><!-- 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 --></ix:exclude>

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

</ix:nonNumeric><ix:nonNumeric contextRef="From2023-01-01to2023-06-30" escape="true" name="FSI:StockIssuedInExchangeForServicesPolicyTextBlock"><p id="xdx_848_ecustom--StockIssuedInExchangeForServicesPolicyTextBlock_zCmWsGLmNvY" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(i)
<i><span id="xdx_86D_zH563OXQ0iJ4">Stock Issued in Exchange for Services</span></i>.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company&#8217;s common stock issued in exchange for services is valued at estimated fair market value based upon trading prices of the
Company&#8217;s common stock on the dates of the stock transactions. The corresponding expense of the services rendered is recognized
over the period that the services are performed.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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="From2023-01-01to2023-06-30" escape="true" name="us-gaap:CompensationRelatedCostsPolicyTextBlock"><p id="xdx_84F_eus-gaap--CompensationRelatedCostsPolicyTextBlock_z2ERp5T8hgjl" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(j)
<i><span id="xdx_86C_zn6bXkTxBiq5">Stock-based Compensation</span></i>.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 24.5pt; 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: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company recognizes compensation expense for all share-based payments in accordance with FASB Codification Topic 718, <i>Compensation
&#8212; Stock Compensation</i>, (ASC 718). Under the fair value recognition provisions of ASC 718, the Company recognizes share-based
compensation expense, net of an estimated forfeiture rate, over the requisite service period of the award.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 24.5pt; 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: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
fair value at grant date of stock options is estimated using the Black-Scholes option-pricing model. Compensation expense is recognized
on a straight-line basis over the stock option vesting period based on the estimated number of stock options that are expected to vest.
Shares are issued from treasury upon exercise of stock options.</span></p>

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

</ix:nonNumeric><ix:nonNumeric contextRef="From2023-01-01to2023-06-30" escape="true" name="us-gaap:ComprehensiveIncomePolicyPolicyTextBlock"><p id="xdx_84C_eus-gaap--ComprehensiveIncomePolicyPolicyTextBlock_zDk1v9z4Uz5j" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(k)
<i><span id="xdx_860_z5EomrFKkaO9">Other Comprehensive Income.</span></i></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Other
comprehensive income refers to revenues, expenses, gains and losses that under generally accepted accounting principles are included
in comprehensive income, but are excluded from net income as these amounts are recorded directly as an adjustment to stockholders&#8217;
equity. The Company&#8217;s other comprehensive income is comprised only of unrealized foreign exchange gains and losses related to the
translation of subsidiaries&#8217; functional currency into the reporting currency.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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="From2023-01-01to2023-06-30" escape="true" name="us-gaap:EarningsPerSharePolicyTextBlock"><p id="xdx_846_eus-gaap--EarningsPerSharePolicyTextBlock_zvNo8iUXaXki" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(l)
<i><span id="xdx_869_zim0lqZ5XIdl">Income Per Share</span>.</i></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Basic
earnings per share is computed by dividing income available to common stockholders by the weighted average number of common shares outstanding
in the period. Diluted earnings per share are calculated giving effect to the potential dilution of the exercise of options and warrants.
Common equivalent shares, composed of incremental common shares issuable upon the exercise of stock options and warrants are included
in diluted net income per share to the extent that these shares are dilutive. Common equivalent shares that have an anti-dilutive effect
on net income per share have been excluded from the calculation of diluted weighted average shares outstanding for the three and six
months ended June 30, 2023 and 2022.</span></p>

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

</ix:nonNumeric><ix:nonNumeric contextRef="From2023-01-01to2023-06-30" escape="true" name="us-gaap:UseOfEstimates"><p id="xdx_849_eus-gaap--UseOfEstimates_zcJACtrW8331" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.5in; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(m)
<i><span id="xdx_869_zT5ePs7SEDc3">Use of Estimates.</span></i></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
preparation of consolidated financial statements in conformity with accounting principles generally accepted in the United States requires
management to make estimates and assumptions that affect the reported amounts of assets and liabilities at the date of the consolidated
financial statements and the reported amounts of revenues and expenses during the reporting period. Actual results could differ from
those estimates and would impact the results of operations and cash flows.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 35.45pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Estimates
and underlying assumptions are reviewed at each period end. Revisions to accounting estimates are recognized in the period in which the
estimates are revised and in any future periods affected.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 35.45pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Significant
areas requiring the use of management estimates include assumptions and estimates relating to the valuation of goodwill and intangible
assets, share-based payments, valuation allowances for deferred income tax assets, determination of useful lives of property, equipment
and leaseholds and intangible assets, recoverability of accounts receivable, recoverability of investments and the valuation of inventory.</span></p>

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


<ix:exclude><!-- 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 --></ix:exclude>

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

</ix:nonNumeric><ix:nonNumeric contextRef="From2023-01-01to2023-06-30" escape="true" name="us-gaap:FairValueOfFinancialInstrumentsPolicy"><p id="xdx_845_eus-gaap--FairValueOfFinancialInstrumentsPolicy_zH5kLuMo83B" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(n)
<i><span id="xdx_863_zPsWmghCC2ja">Fair Value of Financial Instruments</span>.</i></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Fair
value is defined as the exchange price that would be received for an asset or paid to transfer a liability (an exit price) in the principal
or most advantageous market for the asset or liability in an orderly transaction between market participants on the measurement date.
Valuation techniques used to measure fair value must maximize the use of observable inputs and minimize the use of unobservable inputs.
The standard describes a fair value hierarchy based on three levels of inputs described below, of which the first two are considered
observable and the last unobservable, that may be used to measure fair value.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0pt; margin-bottom: 0pt"><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">Level
    1 &#8211; Quoted prices in active markets for identical assets or liabilities.</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">Level
    2 &#8211; Inputs other than Level 1 that are observable, either directly or indirectly, such as quoted prices for similar assets
    or liabilities; quoted prices in markets that are not active; or other inputs that are observable or can be corroborated by observable
    market data for substantially the full term of the assets or liabilities.</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">Level
    3 &#8212; Unobservable inputs that are supported by little or no market activity which is significant to the fair value of the assets
    or liabilities.</span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
fair values of cash and cash equivalents, term deposits, accounts receivable, accounts payable, accrued liabilities and the short term
line of credit for all periods presented approximate their respective carrying amounts due to the short term nature of these financial
instruments.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 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 long term debt for all periods presented approximate their respective carrying amounts due to these financial instruments
being at market rates.</span></p>

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

</ix:nonNumeric><ix:nonNumeric contextRef="From2023-01-01to2023-06-30" escape="true" name="us-gaap:CommitmentsAndContingenciesPolicyTextBlock"><p id="xdx_84D_eus-gaap--CommitmentsAndContingenciesPolicyTextBlock_zLMTXLDNma3k" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(o)
<i><span id="xdx_868_zDelOyyEutx1">Contingencies</span>.</i></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Certain
conditions may exist as of the date the consolidated financial statements are issued which may result in a loss to the Company but which
will only be resolved when one or more future events occur or fail to occur. The Company&#8217;s management and its legal counsel assess
such contingent liabilities, and such assessment inherently involves an exercise of judgment. In assessing loss contingencies related
to legal proceedings that are pending against the Company or unasserted claims that may result in such proceedings, the Company&#8217;s
legal counsel evaluates the perceived merits of any legal proceedings or unasserted claims as well as the perceived merits of the amount
of relief sought or expected to be sought therein.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">If
the assessment of a contingency indicates that it is probable that a material loss has been incurred and the amount of the liability
can be estimated, the estimated liability would be accrued in the Company&#8217;s consolidated financial statements. If the assessment
indicates that a potential material loss contingency is not probable, but is reasonably possible, or is probable but cannot be estimated,
then the nature of the contingent liability, together with an estimate of the range of possible loss if determinable and material, would
be disclosed.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Loss
contingencies considered remote are generally not disclosed unless they involve guarantees, in which case the guarantees would be disclosed.
Legal fees associated with loss contingencies are expensed as incurred. The Company is not aware of any contingencies at the date of
these consolidated financial statements.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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>

</ix:nonNumeric><ix:nonNumeric contextRef="From2023-01-01to2023-06-30" escape="true" name="us-gaap:IncomeTaxPolicyTextBlock"><p id="xdx_845_eus-gaap--IncomeTaxPolicyTextBlock_z61vZEOqc6jg" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(p)
<i><span id="xdx_869_zcjjbub01APc">Income Taxes</span>.</i></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Income
taxes are computed by multiplying the Company&#8217;s taxable net income by the Company&#8217;s effective tax rates. Deferred income
tax assets and liabilities are recognized for the future tax consequences attributable to differences between the consolidated financial
statement carrying amounts of existing assets and liabilities and their respective tax bases, and operating loss carry-forwards, if any.
Deferred income tax assets and liabilities are measured using enacted tax rates expected to apply to taxable income in the years in which
those temporary differences are expected to be recovered or settled. The effect on deferred income tax assets and liabilities of a change
in tax rates is recognized in income in the period that includes the enactment date. A valuation allowance is provided to reduce the
carrying amount of deferred income tax assets if it is considered more likely than not that some portion, or all, of the deferred income
tax assets will not be realized.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
accordance with FASB Codification Topic 740, <i>Income taxes</i> (ASC 740) under the liability method, it is the Company&#8217;s policy
to provide for uncertain tax positions and the related interest and penalties based upon management&#8217;s assessment of whether a tax
benefit is more likely than not to be sustained upon examination by tax authorities. At June 30, 2023, the Company believes it has appropriately
accounted for any unrecognized tax benefits. To the extent the Company prevails in matters for which a liability for an unrecognized
benefit is established or is required to pay amounts in excess of the liability, the Company&#8217;s effective tax rate in a given financial
statement period may be affected. Interest and penalties associated with the Company&#8217;s tax positions are recorded as interest expense
in the consolidated statements of income and comprehensive income.</span></p>

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


<ix:exclude><!-- 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 --></ix:exclude>

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

</ix:nonNumeric><ix:nonNumeric contextRef="From2023-01-01to2023-06-30" escape="true" name="us-gaap:ConcentrationRiskCreditRisk"><p id="xdx_849_eus-gaap--ConcentrationRiskCreditRisk_zzImRoLmQdSh" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(q)
<i><span id="xdx_86C_zIRepckk0Vpl">Risk Management.</span></i></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company&#8217;s credit risk is primarily attributable to its accounts receivable. The amounts presented in the accompanying consolidated
balance sheets are net of allowances for doubtful accounts, estimated by the Company&#8217;s management based on prior experience and
the current economic environment. The Company is exposed to credit-related losses in the event of non-payment by customers. Credit exposure
is minimized by dealing with only credit worthy counterparties. Revenue for the Company&#8217;s three primary customers totaled $<span id="xdx_90D_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20230630__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember_zan1OLXvvS74" title="Sales"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2023-01-012023-06-30_custom_ThreePrimaryCustomersMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">10,681,892</ix:nonFraction></span>
(<span id="xdx_90A_ecustom--ConcentrationRiskThresholdPercentage_pid_dp_uPure_c20230101__20230630__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerMember_zQWA5VX7dR9h" title="Accounts receivable, after allowance for credit loss"><ix:nonFraction name="FSI:ConcentrationRiskThresholdPercentage" contextRef="From2023-01-012023-06-30_custom_ThreePrimaryCustomersMember_us-gaap_RevenueFromContractWithCustomerMember" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">53</ix:nonFraction></span>%) for the six months ended June 30, 2023 (2022 - $<span id="xdx_90E_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20220630__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember_z5fdje7AYUl1" title="Sales"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2022-01-012022-06-30_custom_ThreePrimaryCustomersMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">11,597,726</ix:nonFraction></span> or <span id="xdx_900_ecustom--ConcentrationRiskThresholdPercentage_pid_dp_uPure_c20220101__20220630__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerMember_zQxu9q6B7RRc" title="Accounts receivable, after allowance for credit loss"><ix:nonFraction name="FSI:ConcentrationRiskThresholdPercentage" contextRef="From2022-01-012022-06-30_custom_ThreePrimaryCustomersMember_us-gaap_RevenueFromContractWithCustomerMember" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">53</ix:nonFraction></span>%) and $<span id="xdx_90F_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230401__20230630__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember_zilfrplLbbUk" title="Sales"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2023-04-012023-06-30_custom_ThreePrimaryCustomersMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">5,172,025</ix:nonFraction>&#160;</span>(<span id="xdx_90A_ecustom--ConcentrationRiskThresholdPercentage_pid_dp_uPure_c20230401__20230630__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerMember_z6KdwLyJIrLh" title="Accounts receivable, after allowance for credit loss"><ix:nonFraction name="FSI:ConcentrationRiskThresholdPercentage" contextRef="From2023-04-012023-06-30_custom_ThreePrimaryCustomersMember_us-gaap_RevenueFromContractWithCustomerMember" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">50</ix:nonFraction></span>%) for the three months ended June 30, 2023
(2022 - $<span id="xdx_909_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220401__20220630__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember_zk6ZdnpA6rY7" title="Sales"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2022-04-012022-06-30_custom_ThreePrimaryCustomersMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">5,889,266</ix:nonFraction></span> or <span id="xdx_901_ecustom--ConcentrationRiskThresholdPercentage_pid_dp_uPure_c20220401__20220630__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerMember_zvbW80WC8G9f" title="Accounts receivable, after allowance for credit loss"><ix:nonFraction name="FSI:ConcentrationRiskThresholdPercentage" contextRef="From2022-04-012022-06-30_custom_ThreePrimaryCustomersMember_us-gaap_RevenueFromContractWithCustomerMember" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">53</ix:nonFraction></span>%). Accounts receivable for the Company&#8217;s three primary customers for the six months ended June 30, 2023
totaled $<span id="xdx_90B_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20230630__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember_zt5dYTwCWpP8" title="Sale"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2023-01-012023-06-30_custom_ThreePrimaryCustomersMember_us-gaap_AccountsReceivableMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">3,277,945</ix:nonFraction></span> or <span id="xdx_900_ecustom--ConcentrationRiskThresholdPercentage_pid_dp_uPure_c20230101__20230630__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember_zizkdawPqjmi" title="Accounts receivable, after allowance for credit loss, percentage"><ix:nonFraction name="FSI:ConcentrationRiskThresholdPercentage" contextRef="From2023-01-012023-06-30_custom_ThreePrimaryCustomersMember_us-gaap_AccountsReceivableMember" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">44</ix:nonFraction></span>% (2022 - $<span id="xdx_902_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20220101__20220630__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember_zrCs1sJie0u5" title="Sale"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2022-01-012022-06-30_custom_ThreePrimaryCustomersMember_us-gaap_AccountsReceivableMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,409,089</ix:nonFraction></span> or <span id="xdx_90A_ecustom--ConcentrationRiskThresholdPercentage_pid_dp_uPure_c20220101__20220630__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember_zP4QXcn2jBpk" title="Accounts receivable, after allowance for credit loss, percentage"><ix:nonFraction name="FSI:ConcentrationRiskThresholdPercentage" contextRef="From2022-01-012022-06-30_custom_ThreePrimaryCustomersMember_us-gaap_AccountsReceivableMember" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">36</ix:nonFraction></span>%). Accounts receivable for the Company&#8217;s three primary customers for the three
months ended June 30, 2023 totaled $<span id="xdx_90A_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230401__20230630__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember_zvo88YT9n86c" title="Sale"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2023-04-012023-06-30_custom_ThreePrimaryCustomersMember_us-gaap_AccountsReceivableMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">4,172,657</ix:nonFraction></span> or <span id="xdx_90E_ecustom--ConcentrationRiskThresholdPercentage_pid_dp_uPure_c20230401__20230630__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember_zbSli9gisF5f" title="Accounts receivable, after allowance for credit loss, percentage"><ix:nonFraction name="FSI:ConcentrationRiskThresholdPercentage" contextRef="From2023-04-012023-06-30_custom_ThreePrimaryCustomersMember_us-gaap_AccountsReceivableMember" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">56</ix:nonFraction></span>% (2022 - $<span id="xdx_906_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220401__20220630__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember_z9N9wapayLA6" title="Sale"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2022-04-012022-06-30_custom_ThreePrimaryCustomersMember_us-gaap_AccountsReceivableMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">2,409,089</ix:nonFraction></span> or <span id="xdx_90A_ecustom--ConcentrationRiskThresholdPercentage_pid_dp_uPure_c20220401__20220630__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember_z2GGyioJVXV3" title="Accounts receivable, after allowance for credit loss, percentage"><ix:nonFraction name="FSI:ConcentrationRiskThresholdPercentage" contextRef="From2022-04-012022-06-30_custom_ThreePrimaryCustomersMember_us-gaap_AccountsReceivableMember" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">36</ix:nonFraction></span>%; December 31, 2022 - $<span id="xdx_902_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember_zldvJJL7azt3" title="Sale"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2022-01-012022-12-31_custom_ThreePrimaryCustomersMember_us-gaap_AccountsReceivableMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">6,124,424</ix:nonFraction></span> or <span id="xdx_90B_ecustom--ConcentrationRiskThresholdPercentage_pid_dp_uPure_c20220101__20221231__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember_zmZvKWR1Uqh9" title="Accounts receivable, after allowance for credit loss, percentage"><ix:nonFraction name="FSI:ConcentrationRiskThresholdPercentage" contextRef="From2022-01-012022-12-31_custom_ThreePrimaryCustomersMember_us-gaap_AccountsReceivableMember" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">65</ix:nonFraction></span>%).</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
credit risk on cash is limited because the Company limits its exposure to credit loss by placing its cash with major financial institutions.
The Company maintains cash balances at financial institutions which at times exceed federally insured amounts. The Company has not experienced
any losses in such accounts.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company is exposed to foreign exchange and interest rate risk to the extent that market value rate fluctuations materially differ from
financial assets and liabilities, subject to fixed long-term rates.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
order to manage its exposure to foreign exchange risks, the Company is closely monitoring the fluctuations in the foreign currency exchange
rates and the impact on the value of cash, accounts receivable, and accounts payable and accrued liabilities. The Company has not hedged
its exposure to currency fluctuations.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company is exposed to interest rate risk to the extent that the fair value or future cash flows for financial liabilities will fluctuate
as a result of changes in market interest rates. The Company is exposed to interest rate risk on its long-term debt.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
order to manage its exposure to interest rate risk, the Company is closely monitoring fluctuations in market interest risks and will
refinance its long-term debt where possible to obtain more favourable rates.</span></p>

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

</ix:nonNumeric><ix:nonNumeric contextRef="From2023-01-01to2023-06-30" escape="true" name="us-gaap:EquityMethodInvestmentsPolicy"><p id="xdx_84F_eus-gaap--EquityMethodInvestmentsPolicy_zLUSETl658Ee" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(r)
<i><span id="xdx_861_zgKptDXSxFK">Equity Method Investment.</span></i></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company accounts for investments using the equity method of accounting if the investment provides the Company the ability to exercise
significant influence, but not control, over the investee. <span id="xdx_900_eus-gaap--EquityMethodInvestmentDescriptionOfPrincipalActivities_c20230101__20230630__srt--ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis__custom--InvestmentMember_zsVaZZxQbI3f" title="Equity method investment, description"><ix:nonNumeric contextRef="From2023-01-012023-06-30_custom_InvestmentMember" name="us-gaap:EquityMethodInvestmentDescriptionOfPrincipalActivities">Significant influence is generally deemed to exist if the Company&#8217;s
ownership interest in the voting stock of the investee ranges between 20% and 50%, although other factors, such as representation on
the investee&#8217;s board of directors, are considered in determining whether the equity method of accounting is appropriate</ix:nonNumeric></span>. Under
the equity method of accounting, the investment is initially recorded at cost in the consolidated balance sheets under other assets and
adjusted for dividends received and the Company&#8217;s share of the investee&#8217;s earnings or losses together with other-than-temporary
impairments which are recorded through other income (loss), net in the consolidated statements of income and comprehensive income.</span></p>

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

</ix:nonNumeric><ix:nonNumeric contextRef="From2023-01-01to2023-06-30" escape="true" name="us-gaap:GoodwillAndIntangibleAssetsPolicyTextBlock"><p id="xdx_848_eus-gaap--GoodwillAndIntangibleAssetsPolicyTextBlock_zrNQ6pSPkCh8" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(s)
<i><span id="xdx_869_zKzXQcq1Vgzd">Goodwill and Intangible Assets</span>.</i></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Goodwill
represents the excess of the purchase price of an acquired entity over the amounts assigned to the assets acquired and liabilities assumed.
Goodwill is not amortized, but is reviewed for impairment annually or more frequently if certain impairment conditions arise. The Company
performs an annual goodwill impairment review in the fourth quarter of each year at the reporting unit level. The evaluation begins with
a qualitative assessment of the factors that could impact the significant inputs used to estimate fair value. If after performing the
qualitative assessment, it is determined that it is more likely than not that the fair value of a reporting unit is greater than its
carrying amount, including goodwill, then no further analysis is necessary. However, if the results of the qualitative test are unclear,
the Company performs a quantitative test, which involves comparing the fair value of a reporting unit with its carrying amount, including
goodwill. The Company uses an income-based valuation method, determining the present value of future cash flows, to estimate the fair
value of a reporting unit. If the fair value of a reporting unit exceeds its carrying amount, goodwill of the reporting unit is considered
not impaired, and no further analysis is necessary. If the fair value of the reporting unit is less than its carrying amount, goodwill
impairment would be recognized equal to the amount of the carrying value in excess of the reporting unit&#8217;s fair value, limited
to the total amount of goodwill allocated to the reporting unit.</span></p>

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


<ix:exclude><!-- 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 --></ix:exclude>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Intangible
assets primarily include trademarks and trade secrets with indefinite lives and customer-relationships with finite lives. Intangible
assets with indefinite lives are not amortized but are tested for impairment on an annual basis, or more frequently if indicators of
impairment are present. Indefinite lived intangible assets are assessed using either a qualitative or a quantitative approach. The qualitative
assessment evaluates factors including macro-economic conditions, industry and company-specific factors, legal and regulatory environments,
and historical company performance in assessing fair value. If it is determined that it is more likely than not that the fair value of
the intangible asset is less than its carrying value, a quantitative test is then performed. Otherwise, no further testing is required.
When using a quantitative approach, the Company compares the fair value of the intangible asset to its carrying amount. If the estimated
fair value of the intangible asset is less than the carrying amount of the intangible asset, impairment is indicated, requiring recognition
of an impairment charge for the differential.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
accordance with FASB Codification Topic 350, <i>Intangibles &#8211; Goodwill and Other, </i>(ASC 350), qualitative assessments of goodwill
and indefinite-lived intangible assets were performed at December 31, 2022. Based on the results of the assessment, it was determined
that it is more likely than not the reporting unit, customer lists and trademarks had a fair value in excess of their carrying amounts.
Accordingly, no further impairment testing was completed and no impairment charges related to goodwill or indefinite-lived intangibles
were recognized during the three or six months ended June 30, 2023.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Finite-lived
intangible assets are amortized on a straight-line basis over their estimated useful lives. The Company reviews for impairment indicators
of finite-lived intangibles and other long-lived assets as described in the &#8220;Impairment of Long Lived Assets&#8221; significant
accounting policy.</span></p>

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

</ix:nonNumeric><ix:nonNumeric contextRef="From2023-01-01to2023-06-30" escape="true" name="us-gaap:NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock"><p id="xdx_846_eus-gaap--NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock_zV4jkrQPosRb" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 24.5pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(t)
<i><span id="xdx_86F_zn002KrZiInj">Recent Accounting Pronouncements.</span></i></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company has implemented all applicable new accounting pronouncements that are in effect. Those pronouncements did not have any material
impact on the consolidated financial statements unless otherwise disclosed, and the Company does not believe that there are any other
new accounting pronouncements that have been issued that might have a material impact on its financial position or results of operations.</span></p>

</ix:nonNumeric><p id="xdx_85B_zN0xFaoYaEWf" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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="From2023-01-01to2023-06-30" escape="true" name="us-gaap:LesseeOperatingLeasesTextBlock"><p id="xdx_805_eus-gaap--LesseeOperatingLeasesTextBlock_zksPm2h80ts1" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b>3.
<span id="xdx_829_z6FKO2ZbbkY4">LEASES.</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Accounting
and reporting guidance for leases requires that leases be evaluated and classified as either operating or finance leases by the lessee
and as either operating, sales-type or direct financing leases by the lessor. For leases with terms greater than 12 months, the Company
records the related right-of-use (&#8220;ROU&#8221;) asset and lease obligation at the present value of lease payments over the term.
Leases may include fixed rental escalation clauses, renewal options and / or termination options that are factored into the determination
of lease payments when appropriate. The Company&#8217;s operating leases are included in ROU assets, lease liabilities-current portion
and lease liability-long term portion in the accompanying consolidated balance sheets. ROU assets represent the Company&#8217;s right
to use an underlying asset for the lease term, and lease liabilities represent the obligation to make lease payments arising from the
lease. The Company&#8217;s leases do not usually provide a readily determinable implicit rate; therefore, an estimate of the Company&#8217;s
incremental borrowing rate is used to discount the lease payments based on information available at the lease commencement date. The
discount rate used was <span id="xdx_901_eus-gaap--LesseeOperatingLeaseDiscountRate_iI_pid_uPure_c20230630_ze7cA5FiSSLd" title="Operating leases discount rate"><ix:nonFraction name="us-gaap:LesseeOperatingLeaseDiscountRate" contextRef="AsOf2023-06-30" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">5.5</ix:nonFraction>%</span>.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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="From2023-01-01to2023-06-30" escape="true" name="FSI:SummaryOfRightofuseAssetAndLeaseLiabilityTableTextBlock"><p id="xdx_894_ecustom--SummaryOfRightofuseAssetAndLeaseLiabilityTableTextBlock_zrCunzqeqAy3" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
table below summarizes the right-of-use asset and lease liability for the six months ended June 30, 2023 and the year ended December
31, 2022:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;<span id="xdx_8B7_zEMBfJqux0gi" style="display: none; font-family: Times New Roman, Times, Serif; font-size: 10pt">SUMMARY
OF RIGHT-OF-USE ASSET AND LEASE LIABILITY</span></span></span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 85%; margin-right: auto">
  <tr style="vertical-align: bottom">
    <td style="font-weight: bold">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_49D_20230101__20230630_zsRvbB0W6Za1" style="border-bottom: Black 1.5pt solid; text-align: center">June 30, 2023</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_495_20220101__20221231_zLiFbE6gynvi" style="border-bottom: Black 1.5pt solid; text-align: center">December 31, 2022</td><td style="padding-bottom: 1.5pt">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-decoration: underline; font-weight: bold; text-align: left">Right of Use 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_40A_eus-gaap--OperatingLeaseRightOfUseAsset_iS_zDiSjpbJUOne" style="vertical-align: bottom; background-color: White">
    <td style="width: 57%">Balance, January 1</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 15%; text-align: right"><ix:nonFraction name="us-gaap:OperatingLeaseRightOfUseAsset" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">167,222</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: 20%; text-align: right"><ix:nonFraction name="us-gaap:OperatingLeaseRightOfUseAsset" contextRef="AsOf2021-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">217,267</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_403_eus-gaap--OperatingLeaseRightOfUseAsset_iS_zX4hjsG07sO8" style="display: none; vertical-align: bottom; background-color: rgb(204,238,255)">
    <td><span style="font-family: Times New Roman, Times, Serif">Right of use assets, beginning balance</span></td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction name="us-gaap:OperatingLeaseRightOfUseAsset" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">167,222</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:OperatingLeaseRightOfUseAsset" contextRef="AsOf2021-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">217,267</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--OperatingLeaseRightOfUseAssetAmortizationExpense_iN_di_zUnlOue48PGk" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt">Depreciation</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:OperatingLeaseRightOfUseAssetAmortizationExpense" contextRef="From2023-01-01to2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">25,687</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:OperatingLeaseRightOfUseAssetAmortizationExpense" contextRef="From2022-01-012022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">50,045</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr id="xdx_40F_eus-gaap--OperatingLeaseRightOfUseAsset_iE_z59Pr8TVVMId" style="vertical-align: bottom; background-color: White">
    <td>Balance, end of period</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction name="us-gaap:OperatingLeaseRightOfUseAsset" contextRef="AsOf2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">141,535</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:OperatingLeaseRightOfUseAsset" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">167,222</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_406_eus-gaap--OperatingLeaseRightOfUseAsset_iE_zHIAbHzChRB3" style="display: none; vertical-align: bottom; background-color: rgb(204,238,255)">
    <td><span style="font-family: Times New Roman, Times, Serif">Right of use assets, ending balance</span></td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction name="us-gaap:OperatingLeaseRightOfUseAsset" contextRef="AsOf2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">141,535</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:OperatingLeaseRightOfUseAsset" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">167,222</ix:nonFraction></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: 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="text-decoration: underline; font-weight: bold; text-align: left">Lease Liability</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--OperatingLeaseLiability_iS_z2TOTnj362D5" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Balance, January 1</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction name="us-gaap:OperatingLeaseLiability" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">167,222</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:OperatingLeaseLiability" contextRef="AsOf2021-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">217,267</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_408_eus-gaap--OperatingLeaseLiability_iS_z9mYgHVqkCZ7" style="display: none; vertical-align: bottom; background-color: White">
    <td><span style="font-family: Times New Roman, Times, Serif">Lease liability, beginning balance</span></td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction name="us-gaap:OperatingLeaseLiability" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">167,222</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:OperatingLeaseLiability" contextRef="AsOf2021-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">217,267</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40E_ecustom--LeaseInterestExpense_z8GggI9d2w08" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Lease interest expense</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="FSI:LeaseInterestExpense" contextRef="From2023-01-01to2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">3,353</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="FSI:LeaseInterestExpense" contextRef="From2022-01-012022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">8,566</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_407_eus-gaap--OperatingLeasePayments_iN_di_zcG22SP9Qrob" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt">Payments</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:OperatingLeasePayments" contextRef="From2023-01-01to2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">29,040</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:OperatingLeasePayments" contextRef="From2022-01-012022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">58,611</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr id="xdx_406_eus-gaap--OperatingLeaseLiability_iE_zcZ50rqp6mk8" style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 1.5pt">Balance, end of period</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:OperatingLeaseLiability" contextRef="AsOf2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">141,535</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:OperatingLeaseLiability" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">167,222</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_40B_eus-gaap--OperatingLeaseLiability_iE_zHzNPhlB8sch" style="display: none; vertical-align: bottom; background-color: rgb(204,238,255)">
    <td><span style="font-family: Times New Roman, Times, Serif">Lease liability, ending balance</span></td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction name="us-gaap:OperatingLeaseLiability" contextRef="AsOf2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">141,535</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:OperatingLeaseLiability" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">167,222</ix:nonFraction></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: 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="text-align: left">Short-term portion</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_98E_eus-gaap--OperatingLeaseLiabilityCurrent_iI_pp0p0_c20230630_zfXprkcePFuc" title="Short-term portion" style="text-align: right"><ix:nonFraction name="us-gaap:OperatingLeaseLiabilityCurrent" contextRef="AsOf2023-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">58,800</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_980_eus-gaap--OperatingLeaseLiabilityCurrent_iI_pp0p0_c20221231_zVnRbjgsn1Vc" title="Short-term portion" style="text-align: right"><ix:nonFraction name="us-gaap:OperatingLeaseLiabilityCurrent" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">58,080</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; padding-bottom: 1.5pt">Long-term portion</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_98B_eus-gaap--OperatingLeaseLiabilityNoncurrent_iI_pp0p0_c20230630_zEdzque6mIIf" title="Long-term portion" style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:OperatingLeaseLiabilityNoncurrent" contextRef="AsOf2023-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">82,735</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_98C_eus-gaap--OperatingLeaseLiabilityNoncurrent_iI_pp0p0_c20221231_znVEAiBTrYv3" title="Long-term portion" style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:OperatingLeaseLiabilityNoncurrent" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">109,142</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--OperatingLeaseLiability_iI_pp0p0_c20230630_zXtdDFZUP3n6" title="Total" style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:OperatingLeaseLiability" contextRef="AsOf2023-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">141,535</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 id="xdx_984_eus-gaap--OperatingLeaseLiability_iI_pp0p0_c20221231_zROFpoHP9cti" title="Total" style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:OperatingLeaseLiability" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">167,222</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  </table>

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


<ix:exclude><!-- 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 --></ix:exclude>

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

<ix:nonNumeric contextRef="From2023-01-01to2023-06-30" escape="true" name="us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock"><p id="xdx_892_eus-gaap--LesseeOperatingLeaseLiabilityMaturityTableTextBlock_zfyySa8bvzMg" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Undiscounted
rent payments for the next three years are as follows:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;<span id="xdx_8B8_zAJI6lVjt6H4" style="display: none; font-family: Times New Roman, Times, Serif; font-size: 10pt">SCHEDULE
OF UNDISCOUNTED RENT PAYMENTS</span></span></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; margin-left: auto; border-collapse: collapse; width: 65%; margin-right: auto">
  <tr style="display: none; vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_494_20230630_ztWyWGT8MX18" style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_408_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear_iI_pp0p0_maLOLLPz6zC_zEfQMeBao8v7" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 80%; text-align: left">2023</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:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear" contextRef="AsOf2023-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">29,040</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_40E_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_iI_pp0p0_maLOLLPz6zC_zuShK5tUGMhf" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">2024</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" contextRef="AsOf2023-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">59,520</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_403_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_iI_pp0p0_maLOLLPz6zC_z2P2Akm8uXDb" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt; text-align: left">2025</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:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" contextRef="AsOf2023-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">61,020</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDue_iTI_mtLOLLPz6zC_zqZWqXc5rz37" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Total</span></td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue" contextRef="AsOf2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">149,580</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40F_eus-gaap--LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_iNI_pp0p0_di_zRnlCacCwBc6" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Impact of discounting</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">(<ix:nonFraction name="us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" contextRef="AsOf2023-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">8,045</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr id="xdx_40F_eus-gaap--OperatingLeaseLiability_iI_zLKMYkPg6d6b" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Lease liability, June 30,
    2023</span></td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction name="us-gaap:OperatingLeaseLiability" contextRef="AsOf2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">141,535</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  </table>

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

</ix:nonNumeric><ix:nonNumeric contextRef="From2023-01-01to2023-06-30" escape="true" name="us-gaap:FinancingReceivablesTextBlock"><p id="xdx_807_eus-gaap--FinancingReceivablesTextBlock_zYoKpnsUfiD2" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b>4.
<span id="xdx_824_zaSSE0AuCDB9">ACCOUNTS RECEIVABLE.</span></b></span></p>

<ix:nonNumeric contextRef="From2023-01-01to2023-06-30" escape="true" name="us-gaap:AccountsReceivableAllowanceForCreditLossTableTextBlock"><p id="xdx_899_eus-gaap--AccountsReceivableAllowanceForCreditLossTableTextBlock_zUK6oFmW7Hua" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="display: none"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;<span id="xdx_8BE_zx9VJWV7Wjvl" style="display: none; font-family: Times New Roman, Times, Serif; font-size: 10pt">SCHEDULE
OF ACCOUNTS RECEIVABLE</span></span></span></span></b></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; margin-left: auto; border-collapse: collapse; width: 85%; margin-right: auto">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_49E_20230630_zYx7x9reqekg" style="border-bottom: Black 1.5pt solid; text-align: center">June 30, 2023</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_49D_20221231_zmNUbxZGDsOf" style="border-bottom: Black 1.5pt solid; text-align: center">December 31, 2022</td><td style="padding-bottom: 1.5pt">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <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 id="xdx_400_eus-gaap--AccountsReceivableGross_iI_pp0p0_maAANRNzPjC_z6QEUNp2zI7f" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 57%; text-align: left">Accounts receivable</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 15%; text-align: right"><ix:nonFraction name="us-gaap:AccountsReceivableGross" contextRef="AsOf2023-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">7,725,203</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: 20%; text-align: right"><ix:nonFraction name="us-gaap:AccountsReceivableGross" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">9,739,150</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_409_eus-gaap--AllowanceForDoubtfulAccountsPremiumsAndOtherReceivables_iNI_pp0p0_di_msAANRNzPjC_zn49DDCrahUa" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1.5pt">Allowances for doubtful accounts</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:AllowanceForDoubtfulAccountsPremiumsAndOtherReceivables" contextRef="AsOf2023-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">290,153</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:AllowanceForDoubtfulAccountsPremiumsAndOtherReceivables" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">289,293</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr id="xdx_40E_eus-gaap--AccountsAndNotesReceivableNet_iTI_pp0p0_mtAANRNzPjC_zcz7q9TLC3Md" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt"><span style="display: none; font-family: Times New Roman, Times, Serif">Total accounts receivable</span></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:AccountsAndNotesReceivableNet" contextRef="AsOf2023-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">7,435,050</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:AccountsAndNotesReceivableNet" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">9,449,857</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  </table>

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

</ix:nonNumeric><ix:nonNumeric contextRef="From2023-01-01to2023-06-30" escape="true" name="us-gaap:InventoryDisclosureTextBlock"><p id="xdx_80A_eus-gaap--InventoryDisclosureTextBlock_zFOfv7kHBaf9" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b>5.
<span><span id="xdx_82F_zkNj7cHZFSWg">INVENTORIES.</span></span></b></span></p>

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

<ix:nonNumeric contextRef="From2023-01-01to2023-06-30" escape="true" name="us-gaap:ScheduleOfInventoryCurrentTableTextBlock"><p id="xdx_89C_eus-gaap--ScheduleOfInventoryCurrentTableTextBlock_zlOGCFmO3u5k" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="display: none; font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;<span id="xdx_8BC_zAYZxrBrWRi6" style="display: none; font-family: Times New Roman, Times, Serif; font-size: 10pt">SCHEDULE
OF INVENTORY</span></span></span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 85%; margin-right: auto">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_495_20230630_znksefHhO6Eb" style="border-bottom: Black 1.5pt solid; text-align: center">June 30, 2023</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_49A_20221231_zRYUJoZISQie" style="border-bottom: Black 1.5pt solid; text-align: center">December 31, 2022</td><td style="padding-bottom: 1.5pt">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <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 id="xdx_404_eus-gaap--InventoryFinishedGoods_iI_pp0p0_maINzDiN_maINzkLt_zKB0N3PSF6qe" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 57%; text-align: left">Completed goods</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 15%; text-align: right"><ix:nonFraction name="us-gaap:InventoryFinishedGoods" contextRef="AsOf2023-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">3,280,008</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: 20%; text-align: right"><ix:nonFraction name="us-gaap:InventoryFinishedGoods" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">3,806,646</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_40B_eus-gaap--InventoryRawMaterialsAndSupplies_iI_pp0p0_maINzDiN_maINzkLt_zyDzsZVqrnjc" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1.5pt">Raw materials and supplies</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:InventoryRawMaterialsAndSupplies" contextRef="AsOf2023-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">8,036,221</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:InventoryRawMaterialsAndSupplies" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">10,612,784</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_403_eus-gaap--InventoryNet_iTI_pp0p0_mtINzkLt_z7v8eahZOXf" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt"><span style="font-family: Times New Roman, Times, Serif"><span style="display: none; font-family: Times New Roman, Times, Serif; font-size: 10pt">Total
    inventory</span></span></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:InventoryNet" contextRef="AsOf2023-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">11,316,229</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:InventoryNet" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">14,419,430</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  </table>

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


<ix:exclude><!-- 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 --></ix:exclude>

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

</ix:nonNumeric><ix:nonNumeric contextRef="From2023-01-01to2023-06-30" escape="true" name="us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock"><p id="xdx_80D_eus-gaap--PropertyPlantAndEquipmentDisclosureTextBlock_z8pOM0JvAEL9" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b>6.
<span id="xdx_82F_zjzcsPjOkD4f">PROPERTY, EQUIPMENT &amp; LEASEHOLDS.</span></b></span></p>

<ix:nonNumeric contextRef="From2023-01-01to2023-06-30" escape="true" name="us-gaap:PropertyPlantAndEquipmentTextBlock"><p id="xdx_891_eus-gaap--PropertyPlantAndEquipmentTextBlock_zFksPMa8BpCl" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="display: none"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;<span id="xdx_8B8_znWtdbaBqQge" style="display: none; font-family: Times New Roman, Times, Serif; font-size: 10pt">SCHEDULE
OF PROPERTY, EQUIPMENT AND LEASEHOLDS</span></span></span></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; margin-left: auto; border-collapse: collapse; width: 85%; margin-right: auto">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td>&#160;</td>
    <td colspan="2" id="xdx_488_eus-gaap--PropertyPlantAndEquipmentGross_iI_zJBZcRX7x0Ql" style="text-align: center">June 30, 2023</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" id="xdx_487_eus-gaap--AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_iI_zXO5bpOlCaS5" style="text-align: center">Accumulated</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" id="xdx_481_eus-gaap--PropertyPlantAndEquipmentNet_iI_zwLtC19eDe9a" style="text-align: center">June 30, 2023</td><td>&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">Cost</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">Depreciation</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">Net</td><td>&#160;</td></tr>
  <tr id="xdx_41F_20230630__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--BuildingAndBuildingImprovementsMember_zFPegrsX2cEk" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 37%; text-align: left">Buildings and improvements</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 18%; text-align: right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentGross" contextRef="AsOf2023-06-30_us-gaap_BuildingAndBuildingImprovementsMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">12,065,617</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: 15%; text-align: right"><ix:nonFraction name="us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" contextRef="AsOf2023-06-30_us-gaap_BuildingAndBuildingImprovementsMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">3,572,013</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: 18%; text-align: right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentNet" contextRef="AsOf2023-06-30_us-gaap_BuildingAndBuildingImprovementsMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">8,493,604</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_417_20230630__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--AutomobilesMember_zphScuvLwSgb" style="vertical-align: bottom; background-color: White">
    <td>Automobiles</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentGross" contextRef="AsOf2023-06-30_us-gaap_AutomobilesMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">196,255</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:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" contextRef="AsOf2023-06-30_us-gaap_AutomobilesMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">124,924</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="AsOf2023-06-30_us-gaap_AutomobilesMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">71,331</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_417_20230630__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--ComputerEquipmentMember_zhP9K88Cpdt5" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Computer hardware</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentGross" contextRef="AsOf2023-06-30_us-gaap_ComputerEquipmentMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">43,490</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:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" contextRef="AsOf2023-06-30_us-gaap_ComputerEquipmentMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">42,826</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="AsOf2023-06-30_us-gaap_ComputerEquipmentMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">664</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_413_20230630__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--OfficeEquipmentMember_zW04lQwR0qYa" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Office equipment</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentGross" contextRef="AsOf2023-06-30_us-gaap_OfficeEquipmentMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">134,233</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:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" contextRef="AsOf2023-06-30_us-gaap_OfficeEquipmentMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">117,826</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="AsOf2023-06-30_us-gaap_OfficeEquipmentMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">16,407</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_41E_20230630__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--MachineryAndEquipmentMember_zLiQEtBLjQV4" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Manufacturing equipment</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentGross" contextRef="AsOf2023-06-30_us-gaap_MachineryAndEquipmentMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">9,074,006</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:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" contextRef="AsOf2023-06-30_us-gaap_MachineryAndEquipmentMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">5,281,191</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="AsOf2023-06-30_us-gaap_MachineryAndEquipmentMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">3,792,815</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_414_20230630__us-gaap--PropertyPlantAndEquipmentByTypeAxis__custom--TrailerMember_zd9XeeXF3HIe" style="vertical-align: bottom; background-color: White">
    <td>Trailer</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentGross" contextRef="AsOf2023-06-30_custom_TrailerMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">9,061</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:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" contextRef="AsOf2023-06-30_custom_TrailerMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">7,961</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="AsOf2023-06-30_custom_TrailerMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,100</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_41C_20230630__us-gaap--PropertyPlantAndEquipmentByTypeAxis__custom--BoatMember_zWNyaHPtbdaf" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Boat</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentGross" contextRef="AsOf2023-06-30_custom_BoatMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">34,400</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:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" contextRef="AsOf2023-06-30_custom_BoatMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">29,006</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="AsOf2023-06-30_custom_BoatMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">5,394</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_417_20230630__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--LeaseholdImprovementsMember_zS3D62XI7jp3" 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: right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentGross" contextRef="AsOf2023-06-30_us-gaap_LeaseholdImprovementsMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">88,872</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:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" contextRef="AsOf2023-06-30_us-gaap_LeaseholdImprovementsMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">88,872</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="-sec-ix-hidden: xdx2ixbrl1081">&#8212;</span></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_412_20230630__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--DevelopedTechnologyRightsMember_zN70ijI21kyc" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Technology</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentGross" contextRef="AsOf2023-06-30_us-gaap_DevelopedTechnologyRightsMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">103,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:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" contextRef="AsOf2023-06-30_us-gaap_DevelopedTechnologyRightsMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">103,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"><span style="-sec-ix-hidden: xdx2ixbrl1084">&#8212;</span></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_418_20230630__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--LandMember_zM63yvzzqw7a" style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 1.5pt">Land</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:PropertyPlantAndEquipmentGross" contextRef="AsOf2023-06-30_us-gaap_LandMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">440,592</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"><span style="-sec-ix-hidden: xdx2ixbrl1086">&#8212;</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"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentNet" contextRef="AsOf2023-06-30_us-gaap_LandMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">440,592</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: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td id="xdx_98B_eus-gaap--PropertyPlantAndEquipmentGross_iI_c20230630_z2hU7JOV00K1" title="Cost" style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentGross" contextRef="AsOf2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">22,189,708</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 id="xdx_980_eus-gaap--AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_iI_c20230630_zWDXrt7hCzY7" title="Accumulated Depreciation" style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" contextRef="AsOf2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">9,367,801</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 id="xdx_981_eus-gaap--PropertyPlantAndEquipmentNet_iI_c20230630_zgEGBrhXGGCa" title="Property, plant and equipment, net, total" style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentNet" contextRef="AsOf2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">12,821,907</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  </table>

<p style="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0pt; margin-bottom: 0pt"><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: 85%; margin-right: auto">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td>&#160;</td>
    <td colspan="2" id="xdx_48C_eus-gaap--PropertyPlantAndEquipmentGross_iI_zeH2ouiyg1bg" style="text-align: center">December 31, 2022</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" id="xdx_487_eus-gaap--AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_iI_z00syL3iLUf1" style="text-align: center">Accumulated</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" id="xdx_481_eus-gaap--PropertyPlantAndEquipmentNet_iI_zMT5Tuc4tHr4" style="text-align: center">December 31, 2022</td><td>&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">Cost</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">Depreciation</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">Net</td><td style="padding-bottom: 1.5pt">&#160;</td></tr>
  <tr id="xdx_41A_20221231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--BuildingAndBuildingImprovementsMember_zviCQ3c7A1x3" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 37%; text-align: left">Buildings and improvements</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 18%; text-align: right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentGross" contextRef="AsOf2022-12-31_us-gaap_BuildingAndBuildingImprovementsMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">8,775,629</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: 15%; text-align: right"><ix:nonFraction name="us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" contextRef="AsOf2022-12-31_us-gaap_BuildingAndBuildingImprovementsMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">3,310,920</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: 18%; text-align: right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentNet" contextRef="AsOf2022-12-31_us-gaap_BuildingAndBuildingImprovementsMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">5,464,709</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_414_20221231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--AutomobilesMember_zlfVfSN0rCs8" style="vertical-align: bottom; background-color: White">
    <td>Automobiles</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentGross" contextRef="AsOf2022-12-31_us-gaap_AutomobilesMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">196,255</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:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" contextRef="AsOf2022-12-31_us-gaap_AutomobilesMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">107,055</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="AsOf2022-12-31_us-gaap_AutomobilesMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">89,200</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_419_20221231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--ComputerEquipmentMember_zJzhxWWRooX" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Computer hardware</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentGross" contextRef="AsOf2022-12-31_us-gaap_ComputerEquipmentMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">43,432</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:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" contextRef="AsOf2022-12-31_us-gaap_ComputerEquipmentMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">42,663</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="AsOf2022-12-31_us-gaap_ComputerEquipmentMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">769</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_41D_20221231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--OfficeEquipmentMember_zCGKY18dFjYj" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Office equipment</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentGross" contextRef="AsOf2022-12-31_us-gaap_OfficeEquipmentMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">133,280</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:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" contextRef="AsOf2022-12-31_us-gaap_OfficeEquipmentMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">112,782</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="AsOf2022-12-31_us-gaap_OfficeEquipmentMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">20,498</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_410_20221231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--MachineryAndEquipmentMember_zdpkZ4NR8Wei" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Manufacturing equipment</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentGross" contextRef="AsOf2022-12-31_us-gaap_MachineryAndEquipmentMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">8,634,063</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:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" contextRef="AsOf2022-12-31_us-gaap_MachineryAndEquipmentMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">4,891,736</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="AsOf2022-12-31_us-gaap_MachineryAndEquipmentMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">3,742,327</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_419_20221231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__custom--TrailerMember_zwHlpZCWrDgk" style="vertical-align: bottom; background-color: White">
    <td>Trailers</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentGross" contextRef="AsOf2022-12-31_custom_TrailerMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">8,857</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:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" contextRef="AsOf2022-12-31_custom_TrailerMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">7,592</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="AsOf2022-12-31_custom_TrailerMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,265</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_41F_20221231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__custom--BoatMember_zbK0Ed74fftb" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Boat</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentGross" contextRef="AsOf2022-12-31_custom_BoatMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">34,400</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:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" contextRef="AsOf2022-12-31_custom_BoatMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">27,907</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="AsOf2022-12-31_custom_BoatMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">6,493</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_418_20221231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--LeaseholdImprovementsMember_z2sdEPkIkGT" 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: right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentGross" contextRef="AsOf2022-12-31_us-gaap_LeaseholdImprovementsMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">88,872</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:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" contextRef="AsOf2022-12-31_us-gaap_LeaseholdImprovementsMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">88,872</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="-sec-ix-hidden: xdx2ixbrl1117">&#8212;</span></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_412_20221231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--DevelopedTechnologyRightsMember_zHwboTZI88Al" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Technology</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentGross" contextRef="AsOf2022-12-31_us-gaap_DevelopedTechnologyRightsMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">100,860</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:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" contextRef="AsOf2022-12-31_us-gaap_DevelopedTechnologyRightsMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">100,860</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="-sec-ix-hidden: xdx2ixbrl1120">&#8212;</span></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_415_20221231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--LandMember_znCkU7HIvzDa" style="vertical-align: bottom; background-color: White">
    <td>Land</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentGross" contextRef="AsOf2022-12-31_us-gaap_LandMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">384,027</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="-sec-ix-hidden: xdx2ixbrl1122">&#8212;</span></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="AsOf2022-12-31_us-gaap_LandMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">384,027</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">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td id="xdx_986_eus-gaap--PropertyPlantAndEquipmentGross_iI_c20221231_zfbomOSnbbxl" title="Cost" style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentGross" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">18,399,675</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 id="xdx_98A_eus-gaap--AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_iI_c20221231_zV01X1Gkyhb1" title="Accumulated Depreciation" style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">8,690,387</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 id="xdx_984_eus-gaap--PropertyPlantAndEquipmentNet_iI_c20221231_zwNeLW32esPg" title="Property, plant and equipment, net, total" style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentNet" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">9,709,288</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  </table>

</ix:nonNumeric><p id="xdx_8AE_zaCnMDMiH835" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Amount
of depreciation expense for the six months ended June 30, 2023 was $<span id="xdx_90B_eus-gaap--Depreciation_c20230101__20230630_zWFpKLZyOih3" title="Depreciation"><ix:nonFraction name="us-gaap:Depreciation" contextRef="From2023-01-01to2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">671,574</ix:nonFraction></span> (2022: $<span id="xdx_90D_eus-gaap--Depreciation_c20220101__20220630_zcN61L8orrjh" title="Depreciation"><ix:nonFraction name="us-gaap:Depreciation" contextRef="From2022-01-012022-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">384,058</ix:nonFraction></span>) and is included in cost of sales in the
unaudited condensed interim consolidated statements of operations and comprehensive income.</span></p>

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

</ix:nonNumeric><ix:nonNumeric contextRef="From2023-01-01to2023-06-30" escape="true" name="us-gaap:IntangibleAssetsDisclosureTextBlock"><p id="xdx_801_eus-gaap--IntangibleAssetsDisclosureTextBlock_zvcm3j3s4ho6" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b>7.
<span id="xdx_82A_zYFA18xdvfg1">PATENTS.</span></b></span></p>

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

<ix:nonNumeric contextRef="From2023-01-01to2023-06-30" escape="true" name="us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock"><p id="xdx_898_eus-gaap--ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock_ziv17z4SFR3h" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="display: none; font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;<span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;<span style="display: none"><span id="xdx_8BE_zEPFlmYp8muc">SCHEDULE OF PATENTS</span></span></span></span></span></span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 85%; margin-right: auto">
  <tr style="vertical-align: bottom">
    <td style="text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">June 30, <span style="font-variant: small-caps">2023</span></span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Cost</span></p></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">Accumulated <br /> Amortization</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"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">June 30, <span style="font-variant: small-caps">2023</span></span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Net</span></p></td><td style="padding-bottom: 1.5pt">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt; width: 37%; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Patents</span></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_98B_eus-gaap--FiniteLivedPatentsGross_iI_pp0p0_c20230630_zMnK7JoUoW28" title="Patents, cost" style="border-bottom: Black 1.5pt solid; width: 18%; text-align: right"><ix:nonFraction name="us-gaap:FiniteLivedPatentsGross" contextRef="AsOf2023-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">200,232</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_987_eus-gaap--FiniteLivedIntangibleAssetsAccumulatedAmortization_iI_pp0p0_c20230630_zuAzr7c0NP23" title="Accumulated amortization" style="border-bottom: Black 1.5pt solid; width: 15%; text-align: right"><ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" contextRef="AsOf2023-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">200,232</ix:nonFraction></td><td style="width: 1%; padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="width: 2%; font-variant: small-caps; padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; width: 1%; font-variant: small-caps; text-align: left">$</td><td id="xdx_980_eus-gaap--FiniteLivedIntangibleAssetsNet_iI_pp0p0_c20230630_z14TNRddv7s8" title="Patents, net" style="border-bottom: Black 1.5pt solid; width: 18%; font-variant: small-caps; text-align: right"><span style="font: small-caps 10pt Times New Roman, Times, Serif">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<span style="-sec-ix-hidden: xdx2ixbrl1143">-</span></span></td><td style="width: 1%; padding-bottom: 1.5pt; font-variant: small-caps; text-align: left">&#160;</td></tr>
  </table>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><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: 85%; margin-right: auto">
  <tr style="vertical-align: bottom">
    <td style="text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">December
<span style="font-variant: normal">31,2022 <br />
Cost</span></span></p></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">Accumulated <br /> Amortization</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"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">December
<span style="font-variant: normal">31,2022 <br />
Net</span></span></p></td><td style="padding-bottom: 1.5pt">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt; width: 37%; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Patents</span></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_984_eus-gaap--FiniteLivedPatentsGross_iI_pp0p0_c20221231_z12Qdsx7e5o6" title="Patents, cost" style="border-bottom: Black 1.5pt solid; width: 18%; text-align: right"><ix:nonFraction name="us-gaap:FiniteLivedPatentsGross" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">195,725</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--FiniteLivedIntangibleAssetsAccumulatedAmortization_iI_pp0p0_c20221231_zJYkgutBJDme" title="Accumulated amortization" style="border-bottom: Black 1.5pt solid; width: 15%; text-align: right"><ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">195,725</ix:nonFraction></td><td style="width: 1%; padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="width: 2%; font-variant: small-caps; padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; width: 1%; font-variant: small-caps; text-align: left">$</td><td id="xdx_982_eus-gaap--FiniteLivedIntangibleAssetsNet_iI_pp0p0_c20221231_zNZS1jteEVP" title="Patents, net" style="border-bottom: Black 1.5pt solid; width: 18%; font-variant: small-caps; text-align: right"><span style="font: small-caps 10pt Times New Roman, Times, Serif">&#8239;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<span style="-sec-ix-hidden: xdx2ixbrl1149">-</span></span></td><td style="width: 1%; padding-bottom: 1.5pt; font-variant: small-caps; text-align: left">&#160;</td></tr>
  </table>

</ix:nonNumeric><p id="xdx_8A8_zqHyFv9HJEv6" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Amount
of amortization for the period ended June 30, 2023 was $<span id="xdx_90C_eus-gaap--AmortizationOfIntangibleAssets_dxL_c20230101__20230630__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__us-gaap--PatentsMember_zWPQALYK1EM" title="Amortization of intangible assets::XDX::-"><span style="-sec-ix-hidden: xdx2ixbrl1151">nil</span></span>
(2022 - $<span id="xdx_908_eus-gaap--AmortizationOfIntangibleAssets_pp0p0_c20220101__20220630__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__us-gaap--PatentsMember_zTonivsqd9r4" title="Amortization of intangible assets"><ix:nonFraction name="us-gaap:AmortizationOfIntangibleAssets" contextRef="From2022-01-012022-06-30_us-gaap_PatentsMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">4,110</ix:nonFraction></span>)
and was included in cost of sales in the unaudited condensed interim consolidated statements of income and comprehensive
income.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 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 --></ix:exclude>

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

</ix:nonNumeric><ix:nonNumeric contextRef="From2023-01-01to2023-06-30" escape="true" name="us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock"><p id="xdx_807_eus-gaap--GoodwillAndIntangibleAssetsDisclosureTextBlock_z5Iw1FTNPZDc" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>8.
<span style="font-variant: small-caps"><span id="xdx_82E_zz5t2JWItHO9">GOODWILL AND INDEFINITE LIVED INTANGIBLE ASSETS.</span></span></b></span></p>

<ix:nonNumeric contextRef="From2023-01-01to2023-06-30" escape="true" name="us-gaap:ScheduleOfIntangibleAssetsAndGoodwillTableTextBlock"><p id="xdx_898_eus-gaap--ScheduleOfIntangibleAssetsAndGoodwillTableTextBlock_zgQ7DxRuHYd5" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;<span id="xdx_8B6_zUX07eGApUq" style="display: none">SCHEDULE
OF GOODWILL AND INDEFINITE LIVED INTANGIBLE ASSETS</span></span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 85%; margin-right: auto">
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Goodwill</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="width: 80%; padding-bottom: 1.5pt">Balance as of December 31, 2021, 2022 and June 30, 2023</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 style="border-bottom: Black 1.5pt solid; width: 16%; text-align: right"><span id="xdx_904_eus-gaap--Goodwill_iI_c20211231_zTTPqRngseY" title="Goodwill"><span id="xdx_908_eus-gaap--Goodwill_iI_c20221231_zO3A21UBOrEe" title="Goodwill"><span id="xdx_90F_eus-gaap--Goodwill_iI_c20230630_zpJ7JvyXWIL6" title="Goodwill"><ix:nonFraction name="us-gaap:Goodwill" contextRef="AsOf2021-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD"><ix:nonFraction name="us-gaap:Goodwill" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD"><ix:nonFraction name="us-gaap:Goodwill" contextRef="AsOf2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,534,275</ix:nonFraction></ix:nonFraction></ix:nonFraction></span></span></span></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>&#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="text-align: left; padding-bottom: 1.5pt">Indefinite Lived Intangible 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">&#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: 1.5pt">Balance as of December 31, 2021, 2022 and June 30, 2023</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"><span id="xdx_908_eus-gaap--IndefiniteLivedIntangibleAssetsExcludingGoodwill_iI_c20211231_zyskesyarFZf" title="Indefinite lived intangible assets, ending balance"><span id="xdx_907_eus-gaap--IndefiniteLivedIntangibleAssetsExcludingGoodwill_iI_c20221231_zDAIc92HC4U3" title="Indefinite lived intangible assets, ending balance"><span id="xdx_902_eus-gaap--IndefiniteLivedIntangibleAssetsExcludingGoodwill_iI_c20230630_zRwQn5eATBoi" title="Indefinite lived intangible assets, ending balance"><ix:nonFraction name="us-gaap:IndefiniteLivedIntangibleAssetsExcludingGoodwill" contextRef="AsOf2021-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD"><ix:nonFraction name="us-gaap:IndefiniteLivedIntangibleAssetsExcludingGoodwill" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD"><ix:nonFraction name="us-gaap:IndefiniteLivedIntangibleAssetsExcludingGoodwill" contextRef="AsOf2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">770,000</ix:nonFraction></ix:nonFraction></ix:nonFraction></span></span></span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  </table>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Goodwill
relates to the acquisition of ENP Investments. Indefinite lived intangible assets consist of trade secrets and trademarks related to
the acquisition of ENP Investments.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><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: 75%; margin-right: auto">
  <tr style="vertical-align: bottom">
    <td>Definite Life Intangible Assets</td><td>&#160;</td>
    <td colspan="2" style="text-align: right">&#160;</td><td>&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 80%">Balance as of December 31, 2021</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_986_eus-gaap--IndefiniteLivedIntangibleAssetsExcludingGoodwill_iS_pp0p0_c20220101__20221231__dei--LegalEntityAxis__custom--EnPInvestmentsCorporationLLCMember_zDRhiCzosdt2" title="Indefinite lived intangible assets, beginning balance" style="width: 16%; text-align: right"><ix:nonFraction name="us-gaap:IndefiniteLivedIntangibleAssetsExcludingGoodwill" contextRef="AsOf2021-12-31_custom_EnPInvestmentsCorporationLLCMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">1,830,000</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">Amortization</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--AmortizationOfIntangibleAssets_pp0p0_c20220101__20221231__dei--LegalEntityAxis__custom--EnPInvestmentsCorporationLLCMember_z0isNCm6TD8i" title="Amortization" style="border-bottom: Black 1.5pt solid; text-align: right">(<ix:nonFraction name="us-gaap:AmortizationOfIntangibleAssets" contextRef="From2022-01-012022-12-31_custom_EnPInvestmentsCorporationLLCMember" format="ixt:numdotdecimal" decimals="0" scale="0" sign="-" unitRef="USD">160,000</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>Balance as of December 31, 2022</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_982_eus-gaap--IndefiniteLivedIntangibleAssetsExcludingGoodwill_iS_pp0p0_c20230101__20230630__dei--LegalEntityAxis__custom--EnPInvestmentsCorporationLLCMember_znpqxhrHPBYa" title="Indefinite lived intangible assets, beginning balance" style="text-align: right"><ix:nonFraction name="us-gaap:IndefiniteLivedIntangibleAssetsExcludingGoodwill" contextRef="AsOf2022-12-31_custom_EnPInvestmentsCorporationLLCMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">1,670,000</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 1.5pt">Amortization</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--AmortizationOfIntangibleAssets_pp0p0_c20230101__20230630__dei--LegalEntityAxis__custom--EnPInvestmentsCorporationLLCMember_zNz984yVhvz" title="Amortization" style="border-bottom: Black 1.5pt solid; text-align: right">(<ix:nonFraction name="us-gaap:AmortizationOfIntangibleAssets" contextRef="From2023-01-012023-06-30_custom_EnPInvestmentsCorporationLLCMember" format="ixt:numdotdecimal" decimals="0" scale="0" sign="-" unitRef="USD">80,000</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: 1.5pt">Balance as of June 30, 2023</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--IndefiniteLivedIntangibleAssetsExcludingGoodwill_iE_pp0p0_c20230101__20230630__dei--LegalEntityAxis__custom--EnPInvestmentsCorporationLLCMember_zPdjsCpe1aac" title="Indefinite lived intangible assets, ending balance" style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:IndefiniteLivedIntangibleAssetsExcludingGoodwill" contextRef="AsOf2023-06-30_custom_EnPInvestmentsCorporationLLCMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">1,590,000</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  </table>

</ix:nonNumeric><p id="xdx_8A8_z6JTSFeYGalk" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Definite
life intangible assets consist of customer relationships and software related to the acquisition of ENP Investments.</span></p>

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

<ix:nonNumeric contextRef="From2023-01-01to2023-06-30" escape="true" name="us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock"><p id="xdx_891_eus-gaap--ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock_z4BHVt8YJuH6" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Estimated
amortization expense over the next five years is as follows:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;<span id="xdx_8B7_z3frfV5IoNG3" style="display: none">SCHEDULE
OF ESTIMATED FUTURE AMORTIZATION EXPENSE</span></span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 70%; margin-right: auto">
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 80%; text-align: left">2023</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_985_eus-gaap--FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear_iI_c20230630__us-gaap--FairValueByAssetClassAxis__us-gaap--FiniteLivedIntangibleAssetsMember_ztiMLbRrKSud" title="2023" style="width: 16%; text-align: right"><ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear" contextRef="AsOf2023-06-30_us-gaap_FiniteLivedIntangibleAssetsMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">160,000</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">2024</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_980_eus-gaap--FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_iI_c20230630__us-gaap--FairValueByAssetClassAxis__us-gaap--FiniteLivedIntangibleAssetsMember_zsSEERyDdIN" title="2024" style="text-align: right"><ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" contextRef="AsOf2023-06-30_us-gaap_FiniteLivedIntangibleAssetsMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">160,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="text-align: left">2025</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98A_eus-gaap--FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_iI_pp0p0_c20230630__us-gaap--FairValueByAssetClassAxis__us-gaap--FiniteLivedIntangibleAssetsMember_zHk2rYjwQiHf" title="2025" style="text-align: right"><ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" contextRef="AsOf2023-06-30_us-gaap_FiniteLivedIntangibleAssetsMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">160,000</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">2026</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98A_eus-gaap--FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_iI_pp0p0_c20230630__us-gaap--FairValueByAssetClassAxis__us-gaap--FiniteLivedIntangibleAssetsMember_zxvd9dTrqbyk" title="2026" style="text-align: right"><ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" contextRef="AsOf2023-06-30_us-gaap_FiniteLivedIntangibleAssetsMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">160,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="text-align: left">2027</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98D_eus-gaap--FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_iI_pp0p0_c20230630__us-gaap--FairValueByAssetClassAxis__us-gaap--FiniteLivedIntangibleAssetsMember_zeqDAMTEdI7b" title="2027" style="text-align: right"><ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" contextRef="AsOf2023-06-30_us-gaap_FiniteLivedIntangibleAssetsMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">160,000</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  </table>

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

</ix:nonNumeric><ix:nonNumeric contextRef="From2023-01-01to2023-06-30" escape="true" name="FSI:LongTermDepositsTextBlock"><p id="xdx_80F_ecustom--LongTermDepositsTextBlock_zNYlCVZ64Jv8" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b>9.
<span id="xdx_82E_zBtNJT5zdjd">LONG TERM DEPOSITS.</span></b></span></p>

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

<ix:nonNumeric contextRef="From2023-01-01to2023-06-30" escape="true" name="FSI:ScheduleOfLongTermDepositsTableTextBlock"><p id="xdx_895_ecustom--ScheduleOfLongTermDepositsTableTextBlock_zfBP8ViVkmJi" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company has reclassified certain security deposits to better reflect their long term nature. Long term deposits consist of damage deposits
held by landlords and security deposits held by various vendors.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;<span id="xdx_8B9_zwaZSmTUpsL8" style="display: none; font-family: Times New Roman, Times, Serif; font-size: 10pt">SCHEDULE
OF LONG TERM DEPOSITS</span></span></span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 85%; margin-right: auto">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_49B_20230630_zvPngWzGVTuc" style="border-bottom: Black 1.5pt solid; text-align: center">June 30, 2023</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_490_20221231_zcIuPhioeLN5" style="border-bottom: Black 1.5pt solid; text-align: center">December 31, 2022</td><td style="padding-bottom: 1.5pt">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="padding-bottom: 1.5pt; text-align: center">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="padding-bottom: 1.5pt; text-align: center">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td></tr>
  <tr id="xdx_409_eus-gaap--DepositsAssetsNoncurrent_iI_pp0p0" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 57%; text-align: left; padding-bottom: 1.5pt">Long term deposits</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 style="border-bottom: Black 1.5pt solid; width: 15%; text-align: right"><ix:nonFraction name="us-gaap:DepositsAssetsNoncurrent" contextRef="AsOf2023-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">370,156</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 style="border-bottom: Black 1.5pt solid; width: 20%; text-align: right"><ix:nonFraction name="us-gaap:DepositsAssetsNoncurrent" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">8,540</ix:nonFraction></td><td style="width: 1%; padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  </table>

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

</ix:nonNumeric><ix:nonNumeric contextRef="From2023-01-01to2023-06-30" escape="true" name="us-gaap:EquityMethodInvestmentsDisclosureTextBlock"><p id="xdx_807_eus-gaap--EquityMethodInvestmentsDisclosureTextBlock_zODEIVIvF1g2" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b>10.
<span id="xdx_82F_zCYGYPZF5PI5">INVESTMENTS.</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b>(</b></span><b><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">a<span style="font-variant: small-caps">) </span></span></b><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company previously held a <span id="xdx_903_eus-gaap--EquityMethodInvestmentOwnershipPercentage_iI_pid_dp_uPure_c20161231__srt--ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis__custom--EnpPeruInvestmentsLlcMember_z522ZtCyPI18" title="Ownership interest"><ix:nonFraction name="us-gaap:EquityMethodInvestmentOwnershipPercentage" contextRef="AsOf2016-12-31_custom_EnpPeruInvestmentsLlcMember" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">50</ix:nonFraction></span>%
ownership interest in ENP Peru, split between NanoChem (<span id="xdx_909_eus-gaap--EquityMethodInvestmentOwnershipPercentage_iI_pid_dp_uPure_c20161231__srt--ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis__custom--NanoChemMember_zUFE9PGQw9Z7" title="Ownership percentage"><ix:nonFraction name="us-gaap:EquityMethodInvestmentOwnershipPercentage" contextRef="AsOf2016-12-31_custom_NanoChemMember" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">41.67</ix:nonFraction></span>%)
and ENP Investments (<span id="xdx_904_eus-gaap--EquityMethodInvestmentOwnershipPercentage_iI_pid_dp_uPure_c20161231__srt--ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis__custom--ENPInvestmentsLLCMember_zWs9Glgl0B8i" title="Equity method investment ownership percentage"><ix:nonFraction name="us-gaap:EquityMethodInvestmentOwnershipPercentage" contextRef="AsOf2016-12-31_custom_ENPInvestmentsLLCMember" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">8.33</ix:nonFraction></span>%),
which was acquired in fiscal 2016. ENP Peru is located in Illinois and leases warehouse space. In June 2022, NanoChem acquired an
additional <span id="xdx_903_ecustom--AdditionalEquityMethodInvestmentOwnershipPercentage_iI_pid_dp_uPure_c20220630__srt--ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis__custom--NanoChemMember_z10r9QEPrWw1" title="Additional ownership interest"><ix:nonFraction name="FSI:AdditionalEquityMethodInvestmentOwnershipPercentage" contextRef="AsOf2022-06-30_custom_NanoChemMember" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">50</ix:nonFraction></span>%
ownership interest at a cost of $<span id="xdx_906_ecustom--RemainningShareOutstanding_c20220601__20220630__srt--OwnershipAxis__custom--ENPPeruMember_z3aHRB0GszZ" title="Remainning share outstanding"><ix:nonFraction name="FSI:RemainningShareOutstanding" contextRef="From2022-06-012022-06-30_custom_ENPPeruMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">506,659</ix:nonFraction></span>
paid through a new $<span id="xdx_906_eus-gaap--Cash_iI_c20220630__srt--OwnershipAxis__custom--ENPPeruMember_zd0NaZsxrTcl" title="Cash"><ix:nonFraction name="us-gaap:Cash" contextRef="AsOf2022-06-30_custom_ENPPeruMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">259,000</ix:nonFraction></span>
mortgage and cash on hand. The <span id="xdx_900_eus-gaap--MinorityInterestOwnershipPercentageByParent_iI_pid_dp_uPure_c20230630__srt--OwnershipAxis__custom--EnpnvestmentsLlcMember_zLdYPY1NqMZ4" title="Minority Interest Ownership Percentage"><ix:nonFraction name="us-gaap:MinorityInterestOwnershipPercentageByParent" contextRef="AsOf2023-06-30_custom_EnpnvestmentsLlcMember" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">35</ix:nonFraction></span>%
non-controlling interest of the <span id="xdx_903_eus-gaap--EquityMethodInvestmentOwnershipPercentage_iI_pid_dp_uPure_c20230630__srt--ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis__custom--ENPInvestmentsLLCMember_z4ihO07wTuZb" title="Equity method investment ownership percentage"><ix:nonFraction name="us-gaap:EquityMethodInvestmentOwnershipPercentage" contextRef="AsOf2023-06-30_custom_ENPInvestmentsLLCMember" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">8.33</ix:nonFraction></span>%
owned by ENP Investments is included in non-controlling interest in these consolidated financial statements. The Company&#8217;s
investment in ENP Peru was previously accounted for using the equity method, however, it is now consolidated into the consolidated
financial statements from the date control was obtained. In June 2023, NanoChem purchased the remaining <span id="xdx_904_eus-gaap--EquityMethodInvestmentOwnershipPercentage_iI_pid_dp_uPure_c20230630__srt--ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis__custom--ENPInvestmentsLLCMember_zorAoWOoiKP5" title="Equity method investment ownership percentage"><ix:nonFraction name="us-gaap:EquityMethodInvestmentOwnershipPercentage" contextRef="AsOf2023-06-30_custom_ENPInvestmentsLLCMember" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">8.33</ix:nonFraction></span>% of ENP Peru from ENP Investments to become full owner.</span></p>

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


<ix:exclude><!-- 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 --></ix:exclude>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">It
was determined that ENP Peru did not meet the definition of a business in accordance with FASB Codification Topic 805, <i>Business Combinations
</i>(ASC 805)<i>, </i>and the acquisition was accounted for as an asset acquisition. The following table summarizes the final purchase
price allocation of the consideration paid to the respective fair values of the assets acquired and liabilities assumed in ENP Peru as
of the acquisition date. The gain on acquisition of ENP Peru represents a gain on remeasurement of the Company&#8217;s equity method
investment immediately prior to the acquisition date.</span></p>

<ix:nonNumeric contextRef="From2023-01-012023-06-30_custom_EnpPeruInvestmentsLlcMember418055859" escape="true" name="us-gaap:ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock"><p id="xdx_897_eus-gaap--ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock_hdei--LegalEntityAxis__custom--EnpPeruInvestmentsLlcMember_zGpux7scJJo8" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;<span style="display: none"><span id="xdx_8BA_zQhpQ5kCCx5">SCHEDULE
OF  FAIR VALUES OF THE ASSETS ACQUIRED AND LIABILITIES ASSUMED</span></span></span></span></span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 80%; margin-right: auto">
  <tr style="display: none; vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; 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_492_20220101__20221231_zoN9lEH5BmT9" 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_40D_eus-gaap--BusinessCombinationConsiderationTransferred1_zBPfCXI0EeU1" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 80%; text-align: left; padding-bottom: 1.5pt">Purchase consideration</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 style="border-bottom: Black 1.5pt solid; width: 16%; text-align: right"><ix:nonFraction name="us-gaap:BusinessCombinationConsiderationTransferred1" contextRef="From2022-01-012022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">506,659</ix:nonFraction></td><td style="width: 1%; 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">Assets acquired:</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_40A_eus-gaap--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents_iE_zaZYAudnUAU" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt">Cash</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">7,330</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_403_eus-gaap--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedBuildings_iE_z2pW9t3KxLD2" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt">Building</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedBuildings" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">3,750,000</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_eus-gaap--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLand_iE_z1LTSlEcHrJg" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt">Land</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLand" contextRef="AsOf2022-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: rgb(204,238,255)">
    <td style="text-align: left">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 id="xdx_404_eus-gaap--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities_iNE_di_zyvxsNazua3c" 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:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">174,582</ix:nonFraction></td><td style="text-align: left">)</td></tr>
  <tr id="xdx_404_ecustom--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLongTermDebt_iE_zgEEtzu7ez2" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left; padding-bottom: 1.5pt">Long term debt</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="FSI:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLongTermDebt" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">2,849,500</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr id="xdx_404_eus-gaap--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets_iE_z1Z3GqEDcyu8" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1.5pt">Total identifiable net 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:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">883,248</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_405_ecustom--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLessPurchasePrice_iE_z4NqH8NQChQ2" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Excess of assets acquired over consideration</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="FSI:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLessPurchasePrice" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">376,589</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40F_ecustom--InvestmentEliminatedUponConsolidation_zwaA9rHXPBV8" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1.5pt">Less investment eliminated upon consolidation</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="FSI:InvestmentEliminatedUponConsolidation" contextRef="From2022-01-012022-12-31" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">41,538</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr id="xdx_40D_ecustom--GainOnAcquisitionOfSubsidiary_ztnKY6jzALW9" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1.5pt">Gain on acquisition of ENP Peru</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="FSI:GainOnAcquisitionOfSubsidiary" contextRef="From2022-01-012022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">335,051</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  </table>

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

<ix:nonNumeric contextRef="From2023-01-012023-06-30_custom_EnpPeruInvestmentsLlcMember418055859" escape="true" name="us-gaap:EquityMethodInvestmentsTextBlock"><p id="xdx_89B_eus-gaap--EquityMethodInvestmentsTextBlock_hdei--LegalEntityAxis__custom--EnpPeruInvestmentsLlcMember_zN84hMiJRnJj" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.7in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">A
summary of the Company&#8217;s investment follows:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;<span style="display: none"><span id="xdx_8BE_zVbwgKDlORsg">SCHEDULE OF EQUITY METHOD INVESTMENT</span></span></span></span></span></span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 80%; margin-right: auto">
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 80%">Balance, December 31, 2021</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td id="xdx_982_eus-gaap--EquityMethodInvestments_iS_c20220101__20221231__dei--LegalEntityAxis__custom--EnpPeruInvestmentsLlcMember_zjzxFfIMZPCa" title="Balance, Beginning" style="width: 16%; text-align: right"><ix:nonFraction name="us-gaap:EquityMethodInvestments" contextRef="AsOf2021-12-31_custom_EnpPeruInvestmentsLlcMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">22,642</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>Return of equity</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_981_ecustom--EquityMethodInvestmentReturnOfEquity_c20220101__20221231__dei--LegalEntityAxis__custom--EnpPeruInvestmentsLlcMember_zHMkZGa0SSQc" title="Return of equity" style="text-align: right">(<ix:nonFraction name="FSI:EquityMethodInvestmentReturnOfEquity" contextRef="From2022-01-012022-12-31_custom_EnpPeruInvestmentsLlcMember" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">8,750</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">Gain in equity method investment</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_981_eus-gaap--EquityMethodInvestmentRealizedGainLossOnDisposal_c20220101__20221231__dei--LegalEntityAxis__custom--EnpPeruInvestmentsLlcMember_zVUMbyZaJ8Cd" title="Gain in equity method investment" style="text-align: right"><ix:nonFraction name="us-gaap:EquityMethodInvestmentRealizedGainLossOnDisposal" contextRef="From2022-01-012022-12-31_custom_EnpPeruInvestmentsLlcMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">27,646</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">Investment eliminated upon consolidation</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--InvestmentEliminatedUponConsolidation_c20220101__20221231__dei--LegalEntityAxis__custom--EnpPeruInvestmentsLlcMember_zG5idIFlrCJ3" title="Investment eliminated upon consolidation" style="border-bottom: Black 1.5pt solid; text-align: right">(<ix:nonFraction name="FSI:InvestmentEliminatedUponConsolidation" contextRef="From2022-01-012022-12-31_custom_EnpPeruInvestmentsLlcMember" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">41,538</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, December 31, 2022 and June 30, 2023</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--EquityMethodInvestments_iE_c20220101__20221231__dei--LegalEntityAxis__custom--EnpPeruInvestmentsLlcMember_z6tJmDFQQVSc" title="Balance, Ending" style="border-bottom: Black 2.5pt double; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1252">-</span></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

</ix:nonNumeric><p id="xdx_8AF_zs5QtNXHZbnf" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b>(</b></span><b><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">b<span style="font-variant: small-caps">)
</span></span></b><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In December 2018 the Company invested $<span id="xdx_90F_eus-gaap--Investments_iI_c20181201__dei--LegalEntityAxis__custom--AppliedHoldingCorpMember_z3pxXhjIBVYi" title="Investment"><ix:nonFraction name="us-gaap:Investments" contextRef="AsOf2018-12-01_custom_AppliedHoldingCorpMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">200,000</ix:nonFraction></span>
in Applied Holding Corp. (&#8220;Applied&#8221;). Applied is a captive insurance company and the Company received a non-convertible promissory
note for its investment which becomes due in 2021 but may be extended with notice for a maximum of two years. During the year ended December
31, 2021, the Company entered an agreement with Applied to extend the maturity date of this promissory note to <span id="xdx_901_eus-gaap--DebtInstrumentMaturityDate_dd_c20210101__20211231_zzhITj6YbW19" title="Debt maturity date"><ix:nonNumeric contextRef="From2021-01-012021-12-31" format="ixt:datemonthdayyearen" name="us-gaap:DebtInstrumentMaturityDate">December 6, 2023</ix:nonNumeric></span>. In accordance
with FASB Codification Topic 323, <i>Investments &#8211; Equity Method and Joint Ventures</i> (ASC 323), the Company has elected to account
for this investment at cost.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b>(</b></span><b><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">c<span style="font-variant: small-caps">)
</span></span></b><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In December 2018 the Company invested $<span id="xdx_90A_eus-gaap--Investments_iI_c20181201__dei--LegalEntityAxis__custom--TrioOpportunityCorpMember_zTqLNi5a1LT2" title="Investment"><ix:nonFraction name="us-gaap:Investments" contextRef="AsOf2018-12-01_custom_TrioOpportunityCorpMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">500,000</ix:nonFraction>
</span>in Trio Opportunity Corp. (&#8220;Trio&#8221;), a privately held entity and a further $<span id="xdx_908_eus-gaap--Investments_iI_c20230430__dei--LegalEntityAxis__custom--TrioOpportunityCorpMember_z3z1tF3v4Wo6" title="Investment"><ix:nonFraction name="us-gaap:Investments" contextRef="AsOf2023-04-30_custom_TrioOpportunityCorpMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">470,000</ix:nonFraction></span> was invested in April 2023. Trio is a
real estate investment vehicle and the Company received <span id="xdx_90B_eus-gaap--StockIssuedDuringPeriodSharesNewIssues_pid_c20181201__20181231__us-gaap--StatementClassOfStockAxis__us-gaap--CommonClassBMember__dei--LegalEntityAxis__custom--TrioOpportunityCorpMember_zeSQ5DjVSxta" title="Common stock issued, shares"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodSharesNewIssues" contextRef="From2018-12-012018-12-31_us-gaap_CommonClassBMember_custom_TrioOpportunityCorpMember" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">97,000</ix:nonFraction></span> non-voting Class B shares at $<span id="xdx_903_eus-gaap--SharePrice_iI_pid_c20181231__us-gaap--StatementClassOfStockAxis__us-gaap--CommonClassBMember__dei--LegalEntityAxis__custom--TrioOpportunityCorpMember_zAonPGn3xza1" title="Share price"><ix:nonFraction name="us-gaap:SharePrice" contextRef="AsOf2018-12-31_us-gaap_CommonClassBMember_custom_TrioOpportunityCorpMember" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">10.00</ix:nonFraction></span>/share. In accordance with FASB Codification
Topic 321, <i>Investments &#8211; Equity Securities (</i>ASC 321), the Company has elected to account for this investment at cost.</span></p>

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


<ix:exclude><!-- 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 --></ix:exclude>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b>(</b></span><b><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">d<span style="font-variant: small-caps">)
</span></span></b><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In January 2019, the Company invested in
a Florida based LLC that is engaged in international sales of fertilizer additives. The Company accounts for this investment using the
equity method of accounting. According to the operating agreement, the Company has a <span id="xdx_906_eus-gaap--EquityMethodInvestmentOwnershipPercentage_iI_pid_dp_uPure_c20190131__srt--ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis__custom--FloridaBasedLLCMember_zpkIkdpMIkhi" title="Ownership percentage"><ix:nonFraction name="us-gaap:EquityMethodInvestmentOwnershipPercentage" contextRef="AsOf2019-01-31_custom_FloridaBasedLLCMember" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">50</ix:nonFraction></span>% interest in the profit and loss of the Florida
based LLC but does not have control. A summary of the Company&#8217;s investment follows:</span></p>

<ix:nonNumeric contextRef="From2023-01-012023-06-30_custom_FloridaBasedLLCMember" escape="true" name="us-gaap:EquityMethodInvestmentsTextBlock"><p id="xdx_890_eus-gaap--EquityMethodInvestmentsTextBlock_hdei--LegalEntityAxis__custom--FloridaBasedLLCMember_zBjsrUFwDXwb" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8B4_zInUQE4iLXN7" style="display: none">SCHEDULE
OF EQUITY METHOD INVESTMENT</span></span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 80%; margin-right: auto">
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 80%">Balance, December 31, 2021</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td id="xdx_983_eus-gaap--EquityMethodInvestments_iS_pp0p0_c20220101__20221231__dei--LegalEntityAxis__custom--FloridaBasedLLCMember_zUWqkZfY7bw7" title="Balance, Beginning" style="width: 16%; text-align: right"><ix:nonFraction name="us-gaap:EquityMethodInvestments" contextRef="AsOf2021-12-31_custom_FloridaBasedLLCMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">3,701,368</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">Gain in equity method investment</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98D_eus-gaap--EquityMethodInvestmentRealizedGainLossOnDisposal_pp0p0_c20220101__20221231__dei--LegalEntityAxis__custom--FloridaBasedLLCMember_z37oPXNenad9" title="Gain in equity method investment" style="text-align: right"><ix:nonFraction name="us-gaap:EquityMethodInvestmentRealizedGainLossOnDisposal" contextRef="From2022-01-012022-12-31_custom_FloridaBasedLLCMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">307,527</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">Return of equity</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_98C_ecustom--EquityMethodInvestmentReturnOfEquity_pp0p0_c20220101__20221231__dei--LegalEntityAxis__custom--FloridaBasedLLCMember_zfgGkQgZe7Jh" title="Return of equity" style="border-bottom: Black 1.5pt solid; text-align: right">(<ix:nonFraction name="FSI:EquityMethodInvestmentReturnOfEquity" contextRef="From2022-01-012022-12-31_custom_FloridaBasedLLCMember" format="ixt:numdotdecimal" decimals="0" scale="0" sign="-" unitRef="USD">250,000</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>Balance, December 31, 2022</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_98F_eus-gaap--EquityMethodInvestments_iS_pp0p0_c20230101__20230630__dei--LegalEntityAxis__custom--FloridaBasedLLCMember_zSaxRZhUVNJ6" title="Balance, Beginning" style="text-align: right"><ix:nonFraction name="us-gaap:EquityMethodInvestments" contextRef="AsOf2022-12-31_custom_FloridaBasedLLCMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">3,758,895</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; padding-bottom: 1.5pt">Gain in equity method investment</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_985_eus-gaap--EquityMethodInvestmentRealizedGainLossOnDisposal_pp0p0_c20230101__20230630__dei--LegalEntityAxis__custom--FloridaBasedLLCMember_zsnv3SXJ90M3" title="Gain in equity method investment" style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:EquityMethodInvestmentRealizedGainLossOnDisposal" contextRef="From2023-01-012023-06-30_custom_FloridaBasedLLCMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">326,703</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">Balance, June 30, 2023</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td id="xdx_981_eus-gaap--EquityMethodInvestments_iE_pp0p0_c20230101__20230630__dei--LegalEntityAxis__custom--FloridaBasedLLCMember_z6N5Et2tU8Zb" title="Balance, Ending" style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:EquityMethodInvestments" contextRef="AsOf2023-06-30_custom_FloridaBasedLLCMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">4,085,598</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  </table>

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

<ix:nonNumeric contextRef="From2023-01-012023-06-30_custom_FloridaBasedLLCMember" escape="true" name="us-gaap:GainLossOnInvestmentsTextBlock"><p id="xdx_890_eus-gaap--GainLossOnInvestmentsTextBlock_hdei--LegalEntityAxis__custom--FloridaBasedLLCMember_zD2EzOwkOrY6" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Summarized
profit and loss information related to the equity accounted investment is as follows:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8B3_z4kOik6t2gI2" style="display: none">SUMMARY
OF PROFIT AND LOSS INFORMATION RELATED TO EQUITY ACCOUNTED INVESTMENT</span></span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 95%; margin-right: auto">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_495_20230101__20230630_zIgksEyXaSbl" style="border-bottom: Black 1.5pt solid; text-align: center">Six months ended<br /> June 30, 2023</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_491_20220101__20220630_z4mcMtjaeA76" style="border-bottom: Black 1.5pt solid; text-align: center">Six months ended<br /> June 30, 2022</td><td style="padding-bottom: 1.5pt">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="text-align: right">&#160;</td><td>&#160;</td></tr>
  <tr id="xdx_402_eus-gaap--GainsLossesOnSalesOfInvestmentRealEstate_zvEVn5AzFCD2" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 60%; text-align: left">Net sales</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:GainsLossesOnSalesOfInvestmentRealEstate" contextRef="From2023-01-01to2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">8,231,298</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:GainsLossesOnSalesOfInvestmentRealEstate" contextRef="From2022-01-012022-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">4,987,836</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_40A_eus-gaap--RealizedInvestmentGainsLosses_zHEIgNLGGJv4" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Gross profit</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:RealizedInvestmentGainsLosses" contextRef="From2023-01-01to2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,435,858</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:RealizedInvestmentGainsLosses" contextRef="From2022-01-012022-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,850,172</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_402_ecustom--RealizedInvestmentGainsLossesNet_zoNTJbfIBWa5" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Net income</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="FSI:RealizedInvestmentGainsLossesNet" contextRef="From2023-01-01to2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">653,407</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="FSI:RealizedInvestmentGainsLossesNet" contextRef="From2022-01-012022-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">766,167</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  </table>

</ix:nonNumeric><p id="xdx_8AF_zf7S1BZ45QGb" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">During
the six months ended June 30, 2023, the Company had sales of $<span id="xdx_90D_eus-gaap--Revenues_c20230101__20230630__dei--LegalEntityAxis__custom--FloridaBasedLLCMember_zCTOQVucwfr4" title="Sales"><ix:nonFraction name="us-gaap:Revenues" contextRef="From2023-01-012023-06-30_custom_FloridaBasedLLCMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">5,091,764</ix:nonFraction></span> (2022 - $<span id="xdx_903_eus-gaap--Revenues_c20220101__20220630__dei--LegalEntityAxis__custom--FloridaBasedLLCMember_zx4baBPIkuf3" title="Sales"><ix:nonFraction name="us-gaap:Revenues" contextRef="From2022-01-012022-06-30_custom_FloridaBasedLLCMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">5,450,698</ix:nonFraction></span>) to the <span><span>Florida Based LLC</span></span>, of which $<span id="xdx_908_eus-gaap--AccountsReceivableNet_iI_c20230630__dei--LegalEntityAxis__custom--FloridaBasedLLCMember_zzLcCNiAQk0e" title="Accounts receivable related parties"><ix:nonFraction name="us-gaap:AccountsReceivableNet" contextRef="AsOf2023-06-30_custom_FloridaBasedLLCMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,851,981</ix:nonFraction></span>
is included within <span><span>accounts receivable</span></span> as at June 30, 2023 (December 31, 2022 - $<span id="xdx_90C_eus-gaap--AccountsReceivableNet_iI_c20221231__dei--LegalEntityAxis__custom--FloridaBasedLLCMember_zjpVHl0MGWdj" title="Accounts receivable related parties"><ix:nonFraction name="us-gaap:AccountsReceivableNet" contextRef="AsOf2022-12-31_custom_FloridaBasedLLCMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,423,285</ix:nonFraction></span>).</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>(e)
</b>In December 2020, the Company invested $<span id="xdx_906_eus-gaap--PaymentsToAcquireInvestments_pp0p0_c20201201__20201231__dei--LegalEntityAxis__custom--LygosIncMember_zretFCCSMc3g"><ix:nonFraction name="us-gaap:PaymentsToAcquireInvestments" contextRef="From2020-12-012020-12-31_custom_LygosIncMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">500,000</ix:nonFraction></span> in Lygos Inc. (&#8220;Lygos&#8221;), a privately held entity, under a Simple Agreement
for Future Equity (&#8220;SAFE&#8221;) agreement. Lygos is a company developing a sustainable aspartic acid microbe strain. In 2021,
the Company made a second SAFE investment of $<span id="xdx_903_eus-gaap--PaymentsToAcquireInvestments_c20210101__20211231__dei--LegalEntityAxis__custom--LygosIncMember_ziztX87oj3vi"><ix:nonFraction name="us-gaap:PaymentsToAcquireInvestments" contextRef="From2021-01-012021-12-31_custom_LygosIncMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">500,000</ix:nonFraction></span> for a total of $<span id="xdx_90D_eus-gaap--Investments_iI_c20211231__dei--LegalEntityAxis__custom--LygosIncMember_zhpUlNzmUVW5" title="Investment"><ix:nonFraction name="us-gaap:Investments" contextRef="AsOf2021-12-31_custom_LygosIncMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,000,000</ix:nonFraction></span>. In accordance with ASC 321, the Company has elected
to account for this investment at cost.</span></p>

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

</ix:nonNumeric><ix:nonNumeric contextRef="From2023-01-01to2023-06-30" escape="true" name="us-gaap:ShortTermDebtTextBlock"><p id="xdx_802_eus-gaap--ShortTermDebtTextBlock_zK0N8kmF5lDh" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b>11.
<span id="xdx_829_zC3aY51B7bcl">SHORT-TERM LINE OF CREDIT.</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>(a)
</b>In June 2023, ENP Investments signed a new agreement with Stock Yards Bank and Trust (&#8220;Stock Yards&#8221;). Increasing the
limit by $<span id="xdx_90C_eus-gaap--LineOfCreditFacilityCurrentBorrowingCapacity_iI_c20230630__us-gaap--LineOfCreditFacilityAxis__custom--StockYardAndBankMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandStatesBankMember__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember_z566vV49KUBg" title="Increasing amount of revolving line of credit"><ix:nonFraction name="us-gaap:LineOfCreditFacilityCurrentBorrowingCapacity" contextRef="AsOf2023-06-30_custom_StockYardAndBankMember_custom_MidlandStatesBankMember_custom_NewAgreementMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">500,000</ix:nonFraction></span>, the revolving line of credit is for an aggregate amount of up to the lesser of (i) $<span id="xdx_903_eus-gaap--LineOfCreditFacilityMaximumBorrowingCapacity_iI_c20230630__us-gaap--LineOfCreditFacilityAxis__custom--StockYardAndBankMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandStatesBankMember__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember_zM0mSKCullbb" title="Aggregate amount of revolving line of credit"><ix:nonFraction name="us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity" contextRef="AsOf2023-06-30_custom_StockYardAndBankMember_custom_MidlandStatesBankMember_custom_NewAgreementMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">4,500,000</ix:nonFraction></span>, or (ii) 50-80% of eligible
domestic accounts receivable plus <span id="xdx_90A_ecustom--PercentageOfForeignAccountsReceivableOfInventory_pid_dp_uPure_c20230601__20230630__us-gaap--LineOfCreditFacilityAxis__custom--StockYardAndBankMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandStatesBankMember__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember_zUTTU4S24rj3" title="Percentage of foreign accounts receivable of inventory"><ix:nonFraction name="FSI:PercentageOfForeignAccountsReceivableOfInventory" contextRef="From2023-06-012023-06-30_custom_StockYardAndBankMember_custom_MidlandStatesBankMember_custom_NewAgreementMember" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">50</ix:nonFraction></span>% of inventory, capped at $<span id="xdx_907_eus-gaap--DebtInstrumentFaceAmount_iI_pp0p0_c20230630__us-gaap--LineOfCreditFacilityAxis__custom--StockYardAndBankMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandStatesBankMember__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember_zx474Wa38vmk" title="Debt face amount"><ix:nonFraction name="us-gaap:DebtInstrumentFaceAmount" contextRef="AsOf2023-06-30_custom_StockYardAndBankMember_custom_MidlandStatesBankMember_custom_NewAgreementMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">2,000,000</ix:nonFraction></span>. Interest on the unpaid principal balance of this loan will
be calculated using the greater of prime or 8.25%. The interest rate at June 30, 2023 is <span id="xdx_90A_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_uPure_c20230630__us-gaap--LineOfCreditFacilityAxis__custom--StockYardAndBankMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandStatesBankMember__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember_z4y8vBDfxR02" title="Interest rate"><ix:nonFraction name="us-gaap:DebtInstrumentInterestRateStatedPercentage" contextRef="AsOf2023-06-30_custom_StockYardAndBankMember_custom_MidlandStatesBankMember_custom_NewAgreementMember" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">8.25</ix:nonFraction></span>% (December 31, 2022 - <span id="xdx_90D_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_uPure_c20221231__us-gaap--LineOfCreditFacilityAxis__custom--StockYardAndBankMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandStatesBankMember__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember_zcYeUaXHXZR2" title="Interest rate"><ix:nonFraction name="us-gaap:DebtInstrumentInterestRateStatedPercentage" contextRef="AsOf2022-12-31_custom_StockYardAndBankMember_custom_MidlandStatesBankMember_custom_NewAgreementMember" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">7.5</ix:nonFraction></span>%).</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
revolving line of credit contains customary affirmative and negative covenants, including the following: compliance with laws, provisions
of financial statements and periodic reports, payment of taxes, maintenance of inventory and insurance, maintenance of operating accounts
at Stock Yards, Stock Yard&#8217;s access to collateral, formation or acquisition of subsidiaries, incurrence of indebtedness, dispositions
of assets, granting liens, changes in business, ownership or business locations, engaging in mergers and acquisitions, making investments
or distributions and affiliate transactions. NanoChem is a guarantor of <span id="xdx_90B_ecustom--LoanGuaranteedRate_iI_pid_dp_uPure_c20230630__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember__dei--LegalEntityAxis__custom--NanoChemSolutionIncMember__us-gaap--LineOfCreditFacilityAxis__custom--StockYardAndBankMember_zDuptIxykVu9" title="Loan guaranteed rate"><ix:nonFraction name="FSI:LoanGuaranteedRate" contextRef="AsOf2023-06-30_custom_NewAgreementMember_custom_NanoChemSolutionIncMember_custom_StockYardAndBankMember" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">65</ix:nonFraction></span>% of all the principal and other loan costs not to exceed $<span id="xdx_909_eus-gaap--LinesOfCreditCurrent_iI_pp0p0_c20230630__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember__dei--LegalEntityAxis__custom--NanoChemSolutionIncMember__us-gaap--LineOfCreditFacilityAxis__custom--StockYardAndBankMember_zp185ZjRbRWc" title="Line of credit"><ix:nonFraction name="us-gaap:LinesOfCreditCurrent" contextRef="AsOf2023-06-30_custom_NewAgreementMember_custom_NanoChemSolutionIncMember_custom_StockYardAndBankMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">2,925,000</ix:nonFraction></span>.
The non-controlling interest is the guarantor of the remaining <span id="xdx_902_ecustom--LoanGuaranteedRate_iI_pid_dp_uPure_c20230630__dei--LegalEntityAxis__custom--NanoChemSolutionIncMember__us-gaap--LineOfCreditFacilityAxis__custom--StockYardAndBankMember_zCjbw3pGGGA3" title="Loan guaranteed rate"><ix:nonFraction name="FSI:LoanGuaranteedRate" contextRef="AsOf2023-06-30_custom_NanoChemSolutionIncMember_custom_StockYardAndBankMember" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">35</ix:nonFraction></span>% of all the principal and other loan costs not to exceed $<span id="xdx_90C_eus-gaap--LinesOfCreditCurrent_iI_pp0p0_c20230630__dei--LegalEntityAxis__custom--NanoChemSolutionIncMember__us-gaap--LineOfCreditFacilityAxis__custom--StockYardAndBankMember_zHxWKuQweL9j" title="Line of credit"><ix:nonFraction name="us-gaap:LinesOfCreditCurrent" contextRef="AsOf2023-06-30_custom_NanoChemSolutionIncMember_custom_StockYardAndBankMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">1,575,000</ix:nonFraction></span>.
As of June 30, 2023, ENP Investments was in compliance with all loan covenants.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">To
secure the repayment of any amounts borrowed under the revolving line of credit, the Company granted Stock Yards a security interest
in substantially all of the assets of ENP Investments, exclusive of intellectual property assets.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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; text-align: justify; margin: 0pt 0; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Short-term
borrowings outstanding under the revolving line as of June 30, 2023 were $<span id="xdx_902_eus-gaap--ShortTermBorrowings_iI_pp0p0_dxL_c20230630__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember__dei--LegalEntityAxis__custom--NanoChemSolutionIncMember__us-gaap--LineOfCreditFacilityAxis__custom--StockYardAndBankMember_zqmEGaL1diZ4" title="Short term borrowings::XDX::-"><span style="-sec-ix-hidden: xdx2ixbrl1327">nil</span></span> (December 31, 2022 - $<span id="xdx_904_eus-gaap--ShortTermBorrowings_iI_pp0p0_c20221231__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember__dei--LegalEntityAxis__custom--NanoChemSolutionIncMember__us-gaap--LineOfCreditFacilityAxis__custom--StockYardAndBankMember_zN0KDMX1jprj" title="Short term borrowings"><ix:nonFraction name="us-gaap:ShortTermBorrowings" contextRef="AsOf2022-12-31_custom_NewAgreementMember_custom_NanoChemSolutionIncMember_custom_StockYardAndBankMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">2,477,794</ix:nonFraction></span>).</span></p>

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


<ix:exclude><!-- 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 --></ix:exclude>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>(b)
</b>In June 2023, the Company signed a new agreement with Stock Yards Bank and Trust (&#8220;Stock Yards&#8221;). The revolving line
of credit is for an aggregate amount of up to the lesser of (i) $<span id="xdx_901_eus-gaap--LineOfCreditFacilityMaximumBorrowingCapacity_iI_pp0p0_c20230630__us-gaap--LineOfCreditFacilityAxis__custom--StockBankMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandStatesBankMember__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember_zszAHqQodwK7" title="Aggregate amount of revolving line of credit"><ix:nonFraction name="us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity" contextRef="AsOf2023-06-30_custom_StockBankMember_custom_MidlandStatesBankMember_custom_NewAgreementMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">4,000,000</ix:nonFraction></span>, or (ii) <span id="xdx_906_ecustom--EligiblePercentageOfDomesticAccountsReceivable_pid_dp_uPure_c20230601__20230630__us-gaap--LineOfCreditFacilityAxis__custom--StockBankMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandStatesBankMember__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember_zPLJlNSidZQl" title="Eligible percentage of domestic accounts receivable"><ix:nonFraction name="FSI:EligiblePercentageOfDomesticAccountsReceivable" contextRef="From2023-06-012023-06-30_custom_StockBankMember_custom_MidlandStatesBankMember_custom_NewAgreementMember" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">80</ix:nonFraction></span>% of eligible domestic accounts receivable and
certain foreign accounts receivable plus <span id="xdx_90D_ecustom--PercentageOfForeignAccountsReceivableOfInventory_pid_dp_uPure_c20230601__20230630__us-gaap--LineOfCreditFacilityAxis__custom--StockBankMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandStatesBankMember__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember_zNQjau38pjFl" title="Percentage of foreign accounts receivable of inventory"><ix:nonFraction name="FSI:PercentageOfForeignAccountsReceivableOfInventory" contextRef="From2023-06-012023-06-30_custom_StockBankMember_custom_MidlandStatesBankMember_custom_NewAgreementMember" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">50</ix:nonFraction></span>% of inventory, capped at $<span id="xdx_908_eus-gaap--DebtInstrumentFaceAmount_iI_pp0p0_c20230630__us-gaap--LineOfCreditFacilityAxis__custom--StockBankMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandStatesBankMember__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember_zbvsicDLljG7" title="Debt face amount"><ix:nonFraction name="us-gaap:DebtInstrumentFaceAmount" contextRef="AsOf2023-06-30_custom_StockBankMember_custom_MidlandStatesBankMember_custom_NewAgreementMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">2,000,000</ix:nonFraction></span>. Interest on the unpaid principal balance of this loan
will be calculated using the greater of prime or 8.25%. The interest rate at June 30, 2023 was <span id="xdx_902_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pip0_dp_uPure_c20230630__us-gaap--LineOfCreditFacilityAxis__custom--StockBankMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandStatesBankMember__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember_zhNWihj15St8" title="Interest rate"><ix:nonFraction name="us-gaap:DebtInstrumentInterestRateStatedPercentage" contextRef="AsOf2023-06-30_custom_StockBankMember_custom_MidlandStatesBankMember_custom_NewAgreementMember" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">8.25</ix:nonFraction></span>% (December 31, 2022 - <span id="xdx_905_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pip0_dp_uPure_c20221231__us-gaap--LineOfCreditFacilityAxis__custom--StockBankMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandStatesBankMember__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember_zrnbLyws3Y52" title="Interest rate"><ix:nonFraction name="us-gaap:DebtInstrumentInterestRateStatedPercentage" contextRef="AsOf2022-12-31_custom_StockBankMember_custom_MidlandStatesBankMember_custom_NewAgreementMember" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">7.5</ix:nonFraction></span>%).</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
revolving line of credit contains customary affirmative and negative covenants, including the following: compliance with laws,
provision of financial statements and periodic reports, payment of taxes, maintenance of inventory and insurance, maintenance of
operating accounts at Stock Yards, Stock Yards access to collateral, formation or acquisition of subsidiaries, incurrence of
indebtedness, dispositions of assets, granting liens, changes in business, ownership or business locations, engaging in mergers and
acquisitions, making investments or distributions and affiliate transactions. The covenants also require that the Company maintain a
minimum ratio of qualifying financial assets to the sum of qualifying financial obligations. As of June 30, 2023, the Company was in
compliance with all loan covenants.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">To
secure the repayment of any amounts borrowed under the revolving line of credit, the Company granted Stock Yards a security interest
in substantially all of the assets of NanoChem, exclusive of intellectual property assets.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Short-term
borrowings outstanding under the revolving line as of June 30, 2023 were $<span id="xdx_906_eus-gaap--ShortTermBorrowings_iI_dxL_c20230630__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember__dei--LegalEntityAxis__custom--NanoChemSolutionIncMember__us-gaap--LineOfCreditFacilityAxis__custom--StockBankMember__us-gaap--CreditFacilityAxis__us-gaap--RevolvingCreditFacilityMember_zHjZOJmlZV8b" title="Short term borrowings::XDX::-"><span style="-sec-ix-hidden: xdx2ixbrl1343">nil</span></span> (December 31, 2022 - $<span id="xdx_906_eus-gaap--ShortTermBorrowings_iI_c20221231__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember__dei--LegalEntityAxis__custom--NanoChemSolutionIncMember__us-gaap--LineOfCreditFacilityAxis__custom--StockBankMember__us-gaap--CreditFacilityAxis__us-gaap--RevolvingCreditFacilityMember_zSpR0n2k3JIi" title="Short term borrowings"><ix:nonFraction name="us-gaap:ShortTermBorrowings" contextRef="AsOf2022-12-31_custom_NewAgreementMember_custom_NanoChemSolutionIncMember_custom_StockBankMember_us-gaap_RevolvingCreditFacilityMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">340,797</ix:nonFraction></span>).</span></p>

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

</ix:nonNumeric><ix:nonNumeric contextRef="From2023-01-01to2023-06-30" escape="true" name="us-gaap:LongTermDebtTextBlock"><p id="xdx_80E_eus-gaap--LongTermDebtTextBlock_zvXwlifoQtt5" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b>12.
<span id="xdx_825_zZwqbg6YaYX">LONG TERM DEBT.</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b>(</b></span><b><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">a<span style="font-variant: small-caps">)
</span></span></b><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In October 2020, NanoChem signed a loan for
$<span id="xdx_905_eus-gaap--DebtInstrumentFaceAmount_iI_pp0p0_c20201031__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--NanoChemSolutionsIncMember_zHGvKKwRJAAb" title="Debt instrument face amount"><ix:nonFraction name="us-gaap:DebtInstrumentFaceAmount" contextRef="AsOf2020-10-31_custom_TermLoanMember_custom_MidlandBankMember_custom_NanoChemSolutionsIncMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">1,980,947</ix:nonFraction></span> with Midland with a rate of <span id="xdx_901_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_uPure_c20201031__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__us-gaap--VariableRateAxis__us-gaap--PrimeRateMember__dei--LegalEntityAxis__custom--NanoChemSolutionsIncMember_zdvqjqt6D5E1" title="Debt instrument interest rate stated percentage"><ix:nonFraction name="us-gaap:DebtInstrumentInterestRateStatedPercentage" contextRef="AsOf2020-10-31_custom_TermLoanMember_custom_MidlandBankMember_us-gaap_PrimeRateMember_custom_NanoChemSolutionsIncMember" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">3.85</ix:nonFraction></span>% to be repaid over <span id="xdx_903_eus-gaap--DebtInstrumentTerm_dtY_c20201001__20201031__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--NanoChemSolutionsIncMember_zkVWyWbpFKPb" title="Debt instrument term"><ix:nonNumeric contextRef="From2020-10-012020-10-31_custom_TermLoanMember_custom_MidlandBankMember_custom_NanoChemSolutionsIncMember" format="ixt-sec:duryear" name="us-gaap:DebtInstrumentTerm">5</ix:nonNumeric> </span>years with equal monthly payments including interest. The money was
used to retire the debt at Harris related to the loan to purchase a <span id="xdx_90B_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_uPure_c20201031__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--NanoChemSolutionsIncMember_zbpC5a79kJQi" title="Debt instrument interest rate stated percentage"><ix:nonFraction name="us-gaap:DebtInstrumentInterestRateStatedPercentage" contextRef="AsOf2020-10-31_custom_TermLoanMember_custom_MidlandBankMember_custom_NanoChemSolutionsIncMember" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">65</ix:nonFraction></span>% interest in ENP Investments. In June 2022, the loan was paid
in full with funds from Stock Yards. Interest expense for the three months ended March 31, 2022 was $<span id="xdx_90E_eus-gaap--InterestExpenseDebt_pp0p0_c20220101__20220331__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--NanoChemSolutionsIncMember_zHdBXsv5mjLe" title="Debt Long term debt amount"><ix:nonFraction name="us-gaap:InterestExpenseDebt" contextRef="From2022-01-012022-03-31_custom_TermLoanMember_custom_MidlandBankMember_custom_NanoChemSolutionsIncMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">15,130</ix:nonFraction></span>. The balance owing at June
30, 2023 was $<span id="xdx_90D_eus-gaap--InterestExpenseDebt_pp0p0_dxL_c20230101__20230630__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--NanoChemSolutionsIncMember_zhmT5YLZoKKf" title="Debt Long term debt amount::XDX::-"><span style="-sec-ix-hidden: xdx2ixbrl1359">nil</span></span> (December 31, 2022 - $<span id="xdx_901_eus-gaap--InterestExpenseDebt_pp0p0_c20220101__20221231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--NanoChemSolutionsIncMember_zqxfR2kxgw2" title="Debt Long term debt amount">nil</span>).</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b>(</b></span><b><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">b<span style="font-variant: small-caps">)
</span></span></b><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In October 2020, NanoChem signed a loan for
$<span id="xdx_901_eus-gaap--DebtInstrumentFaceAmount_iI_pp0p0_c20201031__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--NanoChemSolutionsIncMember_zHGNKgaP1FT6" title="Debt instrument face amount"><ix:nonFraction name="us-gaap:DebtInstrumentFaceAmount" contextRef="AsOf2020-10-31_custom_MidlandBankMember_custom_NanoChemSolutionsIncMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">894,253</ix:nonFraction></span> with Midland with an interest rate <span id="xdx_902_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_uPure_c20201031__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__us-gaap--VariableRateAxis__us-gaap--PrimeRateMember__dei--LegalEntityAxis__custom--NanoChemSolutionsIncMember_zA4igi9pPdRj" title="Debt instrument interest rate stated percentage"><ix:nonFraction name="us-gaap:DebtInstrumentInterestRateStatedPercentage" contextRef="AsOf2020-10-31_custom_MidlandBankMember_us-gaap_PrimeRateMember_custom_NanoChemSolutionsIncMember" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">3.85</ix:nonFraction></span>% to be repaid over <span id="xdx_909_eus-gaap--DebtInstrumentTerm_dc_c20201001__20201031__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--NanoChemSolutionsIncMember_zYUNobHXojek"><ix:nonNumeric contextRef="From2020-10-012020-10-31_custom_MidlandBankMember_custom_NanoChemSolutionsIncMember" format="ixt-sec:durwordsen" name="us-gaap:DebtInstrumentTerm">two years</ix:nonNumeric></span> with equal monthly payments including interest. The funds
were used to replace the loan at Harris for the purchase of new manufacturing equipment. In June 2022, the loan was paid in full with
funds from Stock Yards. Interest expense for the three months ended March 31, 2022 was $<span id="xdx_902_eus-gaap--InterestExpenseDebt_pp0p0_c20220101__20220331__dei--LegalEntityAxis__custom--NanoChemSolutionsIncMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember_za4tQeqwOsfe" title="Interest expense debt"><ix:nonFraction name="us-gaap:InterestExpenseDebt" contextRef="From2022-01-012022-03-31_custom_NanoChemSolutionsIncMember_custom_MidlandBankMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">3,417</ix:nonFraction></span>. The balance owing at June 30, 2023 was
$<span id="xdx_90E_eus-gaap--DebtDefaultLongtermDebtAmount_iI_pp0p0_dxL_c20230630__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--NanoChemSolutionsIncMember_z1VniwY0C6Yj" title="Debt Long term debt amount::XDX::-"><span style="-sec-ix-hidden: xdx2ixbrl1370">nil</span></span> (December 31, 2022 - $<span id="xdx_904_eus-gaap--DebtDefaultLongtermDebtAmount_iI_pp0p0_dxL_c20221231__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--NanoChemSolutionsIncMember_zWIgtwYVfYh2" title="Debt Long term debt amount::XDX::-"><span style="-sec-ix-hidden: xdx2ixbrl1372">nil</span></span>).</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b>(</b></span><b><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">c)
</span></b><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In January 2020, ENP Mendota refinanced its mortgage
and signed a loan for $<span id="xdx_90D_eus-gaap--DebtInstrumentFaceAmount_iI_pp0p0_c20200131__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--ENPMendotaMember_zPKrxFmLKLji"><ix:nonFraction name="us-gaap:DebtInstrumentFaceAmount" contextRef="AsOf2020-01-31_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPMendotaMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">450,000</ix:nonFraction></span> with Stock Yards to be repaid over <span id="xdx_903_eus-gaap--DebtInstrumentTerm_dtY_c20200101__20200131__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--StockYardsBankTrustMember__dei--LegalEntityAxis__custom--EnpRealtyLLCMember_zaitiPBV2GTe"><ix:nonNumeric contextRef="From2020-01-012020-01-31_custom_StockYardsBankTrustMember_custom_EnpRealtyLLCMember" format="ixt-sec:duryear" name="us-gaap:DebtInstrumentTerm">10</ix:nonNumeric></span> years with monthly installments plus interest. Interest for the
first five years is at <span id="xdx_90F_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_uPure_c20200131__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--StockYardsBankTrustMember__us-gaap--VariableRateAxis__us-gaap--PrimeRateMember__dei--LegalEntityAxis__custom--EnpRealtyLLCMember_zo3rMqqnG8H"><ix:nonFraction name="us-gaap:DebtInstrumentInterestRateStatedPercentage" contextRef="AsOf2020-01-31_custom_StockYardsBankTrustMember_us-gaap_PrimeRateMember_custom_EnpRealtyLLCMember" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">4.35</ix:nonFraction></span>% and it will be adjusted for the last five years to the Cincinnati Federal Home Bank Loan <span id="xdx_90B_eus-gaap--DebtInstrumentTerm_dtY_c20200101__20200131__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--ENPMendotaMember_zx0uVqNHEAQl"><ix:nonNumeric contextRef="From2020-01-012020-01-31_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPMendotaMember" format="ixt-sec:duryear" name="us-gaap:DebtInstrumentTerm">5</ix:nonNumeric></span> year fixed index
plus <span id="xdx_907_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_uPure_c20200131__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--ENPMendotaMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember_zz1Zu4Fgg4Zb"><ix:nonFraction name="us-gaap:DebtInstrumentInterestRateStatedPercentage" contextRef="AsOf2020-01-31_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPMendotaMember" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">2.5</ix:nonFraction></span>%. Interest expense for the six months ended June 30, 2023 was $<span id="xdx_900_eus-gaap--InterestExpenseDebt_pp0p0_c20230101__20230630__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--ENPMendotaMember_zXtdaf6MCKrd" title="Interest expense debt"><ix:nonFraction name="us-gaap:InterestExpenseDebt" contextRef="From2023-01-012023-06-30_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPMendotaMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">8,975</ix:nonFraction></span> (2022 - $<span id="xdx_909_eus-gaap--InterestExpenseDebt_pp0p0_c20220101__20221231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--ENPMendotaMember_znyoFIYWSzfg" title="Interest expense debt"><ix:nonFraction name="us-gaap:InterestExpenseDebt" contextRef="From2022-01-012022-12-31_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPMendotaMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">4,635</ix:nonFraction></span>). The balance owing at June 30, 2023 was
$<span id="xdx_909_eus-gaap--DebtDefaultLongtermDebtAmount_iI_pp0p0_c20230630__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--ENPMendotaMember_zUgmQYxe6Ve3"><ix:nonFraction name="us-gaap:DebtDefaultLongtermDebtAmount" contextRef="AsOf2023-06-30_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPMendotaMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">404,925</ix:nonFraction></span> (December 31, 2022 - $<span id="xdx_902_eus-gaap--DebtDefaultLongtermDebtAmount_iI_pp0p0_c20221231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--ENPMendotaMember_znhI1zTKLgek"><ix:nonFraction name="us-gaap:DebtDefaultLongtermDebtAmount" contextRef="AsOf2022-12-31_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPMendotaMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">415,430</ix:nonFraction></span>).</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b>(</b></span><b><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">d<span style="font-variant: small-caps">)
</span></span></b><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In June 2022, NanoChem signed a loan for
$<span id="xdx_909_eus-gaap--DebtInstrumentFaceAmount_iI_pp0p0_c20220630__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--ENPMendotaMember_z6ArenpkwFCj" title="Debt instrument face amount"><ix:nonFraction name="us-gaap:DebtInstrumentFaceAmount" contextRef="AsOf2022-06-30_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPMendotaMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">1,935,000</ix:nonFraction></span> with Stock Yards with an interest rate of 4.90% to be repaid over three years with equal monthly payments including interest.
The funds were used to replace the loans at Midland for the purchase of the 65% interest in ENP Investments and the new manufacturing
equipment. Interest expense for the six months ended June 30, 2023 was $<span id="xdx_901_eus-gaap--InterestExpenseDebt_pp0p0_c20230101__20230630__dei--LegalEntityAxis__custom--NanoChemMember__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember_z19Nh0fwqk3d"><ix:nonFraction name="us-gaap:InterestExpenseDebt" contextRef="From2023-01-012023-06-30_custom_NanoChemMember_custom_TermLoanMember_custom_MidlandBankMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">37,280</ix:nonFraction></span> (2022 - $<span id="xdx_904_eus-gaap--InterestExpenseDebt_pp0p0_dxL_c20220101__20220630__dei--LegalEntityAxis__custom--NanoChemMember__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember_zpfXiDDsKwp" title="::XDX::-"><span style="-sec-ix-hidden: xdx2ixbrl1387">nil</span></span>). The balance owing at June 30, 2023 was
$<span id="xdx_905_eus-gaap--DebtDefaultLongtermDebtAmount_iI_pp0p0_c20230630__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--NanoChemMember_z29LvnB9OZRi" title="Debt Long term debt amount"><ix:nonFraction name="us-gaap:DebtDefaultLongtermDebtAmount" contextRef="AsOf2023-06-30_custom_TermLoanMember_custom_MidlandBankMember_custom_NanoChemMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">1,322,511</ix:nonFraction></span> (December 31, 2022 - $<span id="xdx_90E_eus-gaap--DebtDefaultLongtermDebtAmount_iI_pp0p0_c20221231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--NanoChemMember_zm01o1WSoGwe" title="Debt Long term debt amount"><ix:nonFraction name="us-gaap:DebtDefaultLongtermDebtAmount" contextRef="AsOf2022-12-31_custom_TermLoanMember_custom_MidlandBankMember_custom_NanoChemMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">1,632,672</ix:nonFraction></span>).</span></p>

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


<ix:exclude><!-- 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 --></ix:exclude>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b>(</b></span><b><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">e)
</span></b><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In January 2020 ENP Peru signed a $<span id="xdx_909_eus-gaap--DebtInstrumentFaceAmount_iI_pp0p0_c20200131__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--ENPPeruOneMember_zjfe3T77W0f6" title="Debt instrument face amount"><ix:nonFraction name="us-gaap:DebtInstrumentFaceAmount" contextRef="AsOf2020-01-31_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPPeruOneMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">3,000,000</ix:nonFraction></span> loan
with an interest rate <span id="xdx_90A_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_uPure_c20200131__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__us-gaap--VariableRateAxis__us-gaap--PrimeRateMember__dei--LegalEntityAxis__custom--ENPPeruOneMember_zdaFDnhUkqdj" title="Debt instrument interest rate stated percentage"><ix:nonFraction name="us-gaap:DebtInstrumentInterestRateStatedPercentage" contextRef="AsOf2020-01-31_custom_TermLoanMember_custom_MidlandBankMember_us-gaap_PrimeRateMember_custom_ENPPeruOneMember" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">4.35</ix:nonFraction></span>% to be repaid over <span id="xdx_90A_eus-gaap--DebtInstrumentTerm_c20200101__20200131__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--ENPPeruOneMember_zwVk5LSMEwNg"><ix:nonNumeric contextRef="From2020-01-012020-01-31_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPPeruOneMember" format="ixt-sec:durwordsen" name="us-gaap:DebtInstrumentTerm">ten years</ix:nonNumeric></span> with equal monthly payments including interest. Upon the purchase of the remainder
of ENP Peru in June 2022, the Company assumed the first mortgage at Stock Yards with a balance of $<span id="xdx_901_eus-gaap--LoansPayable_iI_pp0p0_c20220630__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--ENPPeruOneMember_zEeo0ePJGBE1" title="First mortgage"><ix:nonFraction name="us-gaap:LoansPayable" contextRef="AsOf2022-06-30_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPPeruOneMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">2,849,500</ix:nonFraction></span>. Interest expense for the
six months ended June 30, 2023 was $<span id="xdx_90E_eus-gaap--InterestExpense_pp0p0_c20230101__20230630__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--ENPPeruOneMember_zxiikgl2eKAl" title="Interest expense"><ix:nonFraction name="us-gaap:InterestExpense" contextRef="From2023-01-012023-06-30_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPPeruOneMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">61,251</ix:nonFraction></span> (2022 - $<span id="xdx_90D_eus-gaap--InterestExpense_pp0p0_dxL_c20220101__20220630__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--ENPPeruOneMember_zDPQsPIJh8a8" title="Interest expense::XDX::-"><span style="-sec-ix-hidden: xdx2ixbrl1402">nil</span></span>). The balance owing at June 30, 2023 was $<span id="xdx_90F_eus-gaap--DebtInstrumentFaceAmount_iI_pp0p0_c20230630__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--ENPPeruOneMember_zDlCUBRhJUl1" title="Debt instrument face amount"><ix:nonFraction name="us-gaap:DebtInstrumentFaceAmount" contextRef="AsOf2023-06-30_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPPeruOneMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">2,775,372</ix:nonFraction></span> (December 31, 2022 - $<span id="xdx_902_eus-gaap--DebtInstrumentFaceAmount_iI_pp0p0_c20221231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--ENPPeruOneMember_z7PLtPeQAZ1l" title="Debt instrument face amount"><ix:nonFraction name="us-gaap:DebtInstrumentFaceAmount" contextRef="AsOf2022-12-31_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPPeruOneMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">2,813,015</ix:nonFraction></span>).</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>(f)
</b>In June 2022, ENP Peru obtained a second mortgage for $<span id="xdx_909_eus-gaap--DebtInstrumentFaceAmount_iI_pp0p0_c20220630__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--ENPPeruInvestmentsMember_zJkpJua17DKb" title="Debt instrument face amount"><ix:nonFraction name="us-gaap:DebtInstrumentFaceAmount" contextRef="AsOf2022-06-30_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPPeruInvestmentsMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">259,000</ix:nonFraction></span> with Stock Yards to be repaid over <span id="xdx_904_eus-gaap--DebtInstrumentTerm_c20220601__20220630__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--ENPPeruInvestmentsMember_zYbfgQYGFYvd" title="Debt instrument term"><ix:nonNumeric contextRef="From2022-06-012022-06-30_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPPeruInvestmentsMember" format="ixt-sec:durwordsen" name="us-gaap:DebtInstrumentTerm">10 years</ix:nonNumeric></span> with monthly installments
plus interest with an interest rate of <span id="xdx_902_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_uPure_c20220630__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__us-gaap--VariableRateAxis__us-gaap--PrimeRateMember__dei--LegalEntityAxis__custom--ENPPeruInvestmentsMember_zKpOJQVKj2xa" title="Debt instrument interest rate stated percentage"><ix:nonFraction name="us-gaap:DebtInstrumentInterestRateStatedPercentage" contextRef="AsOf2022-06-30_custom_TermLoanMember_custom_MidlandBankMember_us-gaap_PrimeRateMember_custom_ENPPeruInvestmentsMember" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">5.4</ix:nonFraction></span>%. Interest expense for the six months ended June 30, 2023 was $<span id="xdx_90B_eus-gaap--InterestExpenseDebt_pp0p0_c20230101__20230630__dei--LegalEntityAxis__custom--ENPPeruInvestmentsMember__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember_ztXIjOT9dewj" title="Interest expense debt"><ix:nonFraction name="us-gaap:InterestExpenseDebt" contextRef="From2023-01-012023-06-30_custom_ENPPeruInvestmentsMember_custom_TermLoanMember_custom_MidlandBankMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">6,960</ix:nonFraction></span> (2022 - $<span id="xdx_90B_eus-gaap--InterestExpenseDebt_pp0p0_dxL_c20220101__20220630__dei--LegalEntityAxis__custom--ENPPeruInvestmentsMember__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember_zGAWDPHunAwe" title="Interest expense debt::XDX::-"><span style="-sec-ix-hidden: xdx2ixbrl1416">nil</span></span>). The balance
owing at June 30, 2023 was $<span id="xdx_900_eus-gaap--DebtDefaultLongtermDebtAmount_iI_pp0p0_c20230630__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--ENPPeruInvestmentsMember_zhbsvxRCtB33" title="Debt Long term debt amount"><ix:nonFraction name="us-gaap:DebtDefaultLongtermDebtAmount" contextRef="AsOf2023-06-30_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPPeruInvestmentsMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">253,206</ix:nonFraction></span> (December 31, 2022 - $<span id="xdx_90C_eus-gaap--DebtDefaultLongtermDebtAmount_iI_pp0p0_c20221231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--ENPPeruInvestmentsMember_zrJIqN4DD7g" title="Debt Long term debt amount"><ix:nonFraction name="us-gaap:DebtDefaultLongtermDebtAmount" contextRef="AsOf2022-12-31_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPPeruInvestmentsMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">256,162</ix:nonFraction></span>).</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>(g)
</b>In December 2022, NanoChem signed a three year loan for up to $<span id="xdx_904_eus-gaap--DebtInstrumentFaceAmount_iI_pp0p0_c20221231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--NanoChemMember_zoZJofld7URh" title="Debt instrument face amount"><ix:nonFraction name="us-gaap:DebtInstrumentFaceAmount" contextRef="AsOf2022-12-31_custom_TermLoanMember_custom_NanoChemMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">2,000,000</ix:nonFraction></span> with Stock Yards with an interest rate of<span id="xdx_90F_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_uPure_c20221231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--VariableRateAxis__us-gaap--PrimeRateMember__dei--LegalEntityAxis__custom--NanoChemMember_zah8Bz89eGqc" title="Debt instrument interest rate stated percentage"> <ix:nonFraction name="us-gaap:DebtInstrumentInterestRateStatedPercentage" contextRef="AsOf2022-12-31_custom_TermLoanMember_us-gaap_PrimeRateMember_custom_NanoChemMember" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">6.5</ix:nonFraction></span>%. Interest
only payments are required for the first 18 months with interest and principal being paid in the last 18 months. The funds are being
used to purchase new manufacturing equipment. Interest expense for the six months ended June 30, 2023 was $<span id="xdx_908_eus-gaap--InterestExpenseDebt_pp0p0_c20230101__20230630__dei--LegalEntityAxis__custom--NanoChemMember__us-gaap--DebtInstrumentAxis__custom--TermLoanMember_z3IFUIi9VCuk" title="Interest expense debt"><ix:nonFraction name="us-gaap:InterestExpenseDebt" contextRef="From2023-01-012023-06-30_custom_NanoChemMember_custom_TermLoanMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">33,139</ix:nonFraction></span> (2022 - $<span id="xdx_909_eus-gaap--InterestExpenseDebt_pp0p0_dxL_c20220101__20220630__dei--LegalEntityAxis__custom--NanoChemMember__us-gaap--DebtInstrumentAxis__custom--TermLoanMember_z0WnpoR3JMaa" title="Interest expense debt::XDX::-"><span style="-sec-ix-hidden: xdx2ixbrl1428">nil</span></span>). The
balance owing at June 30, 2023 was $<span id="xdx_900_eus-gaap--DebtDefaultLongtermDebtAmount_iI_pp0p0_c20230630__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--NanoChemMember_zDI6Q1mh4bu" title="Debt Long term debt amount"><ix:nonFraction name="us-gaap:DebtDefaultLongtermDebtAmount" contextRef="AsOf2023-06-30_custom_TermLoanMember_custom_NanoChemMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">1,036,798</ix:nonFraction></span> (December 31, 2022 - $<span id="xdx_900_eus-gaap--DebtDefaultLongtermDebtAmount_iI_pp0p0_c20221231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--NanoChemMember_z3kqLKPSvYa7" title="Debt Long term debt amount"><ix:nonFraction name="us-gaap:DebtDefaultLongtermDebtAmount" contextRef="AsOf2022-12-31_custom_TermLoanMember_custom_NanoChemMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">1,036,798</ix:nonFraction></span>).</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>(h)
</b>In June 2023, 317 Mendota signed a five year loan for up to $<span id="xdx_907_eus-gaap--DebtInstrumentFaceAmount_iI_pp0p0_c20230630__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--MendotaMember_zGCdz0hCcYC8" title="Debt instrument face amount"><ix:nonFraction name="us-gaap:DebtInstrumentFaceAmount" contextRef="AsOf2023-06-30_custom_TermLoanMember_custom_MendotaMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">3,240,000</ix:nonFraction></span> with Stock Yards Bank to purchase the building and any necessary
renovations. Interest only payments are required for the first <span title="Debt instrument term">12 months</span> with interest and principal being paid the remaining four years
and a lump sum due in June 2028. Interest expense for the six months ended June 30, 2023 was $<span id="xdx_903_eus-gaap--InterestExpenseDebt_pp0p0_dxL_c20230101__20230630__dei--LegalEntityAxis__custom--MendotaMember__us-gaap--DebtInstrumentAxis__custom--TermLoanMember_zi4wDPUeciak" title="Interest expense debt::XDX::-"><span style="-sec-ix-hidden: xdx2ixbrl1436">nil</span></span> (2022 - $<span id="xdx_90C_eus-gaap--InterestExpenseDebt_pp0p0_dxL_c20220101__20220630__dei--LegalEntityAxis__custom--MendotaMember__us-gaap--DebtInstrumentAxis__custom--TermLoanMember_zczcopBi8RBb" title="Interest expense debt::XDX::-"><span style="-sec-ix-hidden: xdx2ixbrl1438">nil</span></span>). The balance owing at
June 30, 2023 was $<span id="xdx_905_eus-gaap--DebtDefaultLongtermDebtAmount_iI_pp0p0_c20230630__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--MendotaMember_zA7CzDlpGmte" title="Debt Long term debt amount"><ix:nonFraction name="us-gaap:DebtDefaultLongtermDebtAmount" contextRef="AsOf2023-06-30_custom_TermLoanMember_custom_MendotaMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">2,248,292</ix:nonFraction></span> (December 31, 2022 - $<span id="xdx_90E_eus-gaap--DebtDefaultLongtermDebtAmount_iI_pp0p0_dxL_c20221231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--MendotaMember_zlct4qta3UEe" title="Debt Long term debt amount::XDX::-"><span style="-sec-ix-hidden: xdx2ixbrl1442">nil</span></span>).</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">As
of June 30, 2023, Company was in compliance with all loan covenants.</span></p>

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


<ix:exclude><!-- 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 --></ix:exclude>

<ix:nonNumeric contextRef="From2023-01-01to2023-06-30" escape="true" name="FSI:ScheduleOfLoanCovenantsTableTextBlock"><p id="xdx_89E_ecustom--ScheduleOfLoanCovenantsTableTextBlock_zoZ5IdrmBkdf" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8B1_zS1eqBmQLTac" style="display: none">SCHEDULE
OF LOAN COVENANTS</span></span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#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">Continuity</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_49C_20230101__20230630_zhDTKMjJtUjc" style="border-bottom: Black 1.5pt solid; text-align: center">June 30, 2023</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_49F_20220101__20221231_ziLl7cL7blbd" style="border-bottom: Black 1.5pt solid; text-align: center">December 31, 2022</td><td style="padding-bottom: 1.5pt">&#160;</td></tr>
  <tr id="xdx_404_eus-gaap--LongTermDebt_iS_zrajopwRNnTj" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 61%">Balance, January 1</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 15%; text-align: right"><ix:nonFraction name="us-gaap:LongTermDebt" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">6,154,077</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:LongTermDebt" contextRef="AsOf2021-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,366,598</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_40B_eus-gaap--LongTermDebt_iS_zFCauw0ZJJ1a" style="display: none; vertical-align: bottom; background-color: rgb(204,238,255)">
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Balance,
    beginning of period</span></td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction name="us-gaap:LongTermDebt" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">6,154,077</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:LongTermDebt" contextRef="AsOf2021-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,366,598</ix:nonFraction></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: 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--ProceedsFromBankDebt_zATUMaPgHEX4" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Plus: Proceeds from loans</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:ProceedsFromBankDebt" contextRef="From2023-01-01to2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,248,292</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:ProceedsFromBankDebt" contextRef="From2022-01-012022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">3,230,798</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_402_ecustom--ProceedsFromLoanAcquiredFromAcquisition_zYS53pXKK5pg" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Plus: Loan acquired with acquisition of ENP Peru</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1455">-</span></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="FSI:ProceedsFromLoanAcquiredFromAcquisition" contextRef="From2022-01-012022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,849,500</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_409_eus-gaap--PaymentsForProceedsFromDepositOnLoan_iN_di_zgx5PKKL9tzd" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1.5pt">Less: Payments on loan</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:PaymentsForProceedsFromDepositOnLoan" contextRef="From2023-01-01to2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">361,265</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:PaymentsForProceedsFromDepositOnLoan" contextRef="From2022-01-012022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,292,819</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr id="xdx_409_eus-gaap--LongTermDebt_iE_zVkfOrsdkkC2" style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 2.5pt">Balance, 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:LongTermDebt" contextRef="AsOf2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">8,041,104</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:LongTermDebt" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">6,154,077</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

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

<ix:nonNumeric contextRef="From2023-01-01to2023-06-30" escape="true" name="us-gaap:ScheduleOfDebtInstrumentsTextBlock"><p id="xdx_899_eus-gaap--ScheduleOfDebtInstrumentsTextBlock_zDkhNHs9U6x5" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8B0_zIaQZisPqVxi" style="display: none">SCHEDULE
OF OUTSTANDING BALANCE LOAN</span></span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#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">Outstanding balance</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_491_20230630_z2DqVYlpl9na" style="border-bottom: Black 1.5pt solid; text-align: center">June 30, 2023</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_492_20221231_zze1SBM3Lew7" style="border-bottom: Black 1.5pt solid; text-align: center">December 31, 2022</td><td style="padding-bottom: 1.5pt">&#160;</td></tr>
  <tr id="xdx_403_eus-gaap--LongTermDebt_iI_hus-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandStatesBankMember_zm49A4jvxLYj" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">a) Long term debt &#8211; Midland States Bank</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1466">-</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: xdx2ixbrl1467">-</span></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_406_eus-gaap--LongTermDebt_iI_hus-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandStatesBankOneMember_zJTArF9QNPyb" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">b) Long term debt &#8211; Midland States Bank</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1469">-</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="-sec-ix-hidden: xdx2ixbrl1470">-</span></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_eus-gaap--LongTermDebt_iI_hus-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--StockYardsBankTrustMember_zNvYPPw5kMKh" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 61%; text-align: left">c) Long term debt &#8211; Stock Yards Bank &amp; Trust</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 15%; text-align: right"><ix:nonFraction name="us-gaap:LongTermDebt" contextRef="AsOf2023-06-30_custom_StockYardsBankTrustMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">404,925</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: 16%; text-align: right"><ix:nonFraction name="us-gaap:LongTermDebt" contextRef="AsOf2022-12-31_custom_StockYardsBankTrustMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">415,430</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_eus-gaap--LongTermDebt_iI_hus-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--StockYardsBankTrustOneMember_z7sdTDFgFpo6" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">d) Long term debt &#8211; Stock Yards Bank &amp; Trust</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:LongTermDebt" contextRef="AsOf2023-06-30_custom_StockYardsBankTrustOneMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,322,511</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:LongTermDebt" contextRef="AsOf2022-12-31_custom_StockYardsBankTrustOneMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,632,672</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_409_eus-gaap--LongTermDebt_iI_hus-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--StockYardsBankTrustTwoMember_zZ5Za8Csbyv3" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">e) Long term debt &#8211; Stock Yards Bank &amp; Trust</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:LongTermDebt" contextRef="AsOf2023-06-30_custom_StockYardsBankTrustTwoMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,775,372</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:LongTermDebt" contextRef="AsOf2022-12-31_custom_StockYardsBankTrustTwoMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,813,015</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40B_eus-gaap--LongTermDebt_iI_hus-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--StockYardsBankTrustThreeMember_zK9xmD9o8Cb4" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">f) Long term debt &#8211; Stock Yards Bank &amp; Trust</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:LongTermDebt" contextRef="AsOf2023-06-30_custom_StockYardsBankTrustThreeMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">253,206</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:LongTermDebt" contextRef="AsOf2022-12-31_custom_StockYardsBankTrustThreeMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">256,162</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_406_eus-gaap--LongTermDebt_iI_hus-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--StockYardsBankTrustFourMember_zXE5ONgEg4q5" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">g) Long term debt &#8211; Stock Yards Bank &amp; Trust</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:LongTermDebt" contextRef="AsOf2023-06-30_custom_StockYardsBankTrustFourMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,036,798</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:LongTermDebt" contextRef="AsOf2022-12-31_custom_StockYardsBankTrustFourMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,036,798</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_405_eus-gaap--LongTermDebt_iI_hus-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--StockYardsBankTrustFiveMember_zJhriDM9M7d2" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1.5pt">h) Long term debt &#8211; Stock Yards Bank &amp; Trust</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:LongTermDebt" contextRef="AsOf2023-06-30_custom_StockYardsBankTrustFiveMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,248,292</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"><span style="display: none; font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="-sec-ix-hidden: xdx2ixbrl1488">-</span></span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_400_eus-gaap--LongTermDebt_iI_zTTlYnrAAmze" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Long-term Debt</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction name="us-gaap:LongTermDebt" contextRef="AsOf2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">8,041,104</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:LongTermDebt" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">6,154,077</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--LongTermDebtCurrent_iNI_di_zMgIePBBrUk1" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1.5pt">Less: current portion</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:LongTermDebtCurrent" contextRef="AsOf2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">738,916</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:LongTermDebtCurrent" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">717,612</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr id="xdx_40B_eus-gaap--LongTermDebtNoncurrent_iI_zzr3slaHlpr6" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 2.5pt"><span style="display: none; font-family: Times New Roman, Times, Serif; font-size: 10pt">Long-term
    Debt non current</span><span style="font-family: Times New Roman, Times, Serif">&#160;</span></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:LongTermDebtNoncurrent" contextRef="AsOf2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">7,302,188</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:LongTermDebtNoncurrent" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">5,436,465</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

</ix:nonNumeric><p id="xdx_8A8_zBGPg9tHOpQe" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b>&#160;</b></span></p>

</ix:nonNumeric><ix:nonNumeric contextRef="From2023-01-01to2023-06-30" escape="true" name="us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock"><p id="xdx_80D_eus-gaap--DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock_zlb0PWbWE07b" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b>13.
<span id="xdx_82C_z1pgSAS3dnl7">STOCK OPTIONS.</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company has a stock option plan (&#8220;Plan&#8221;). The purpose of this Plan is to provide additional incentives to key employees,
officers, directors and consultants of the Company and its subsidiaries in order to help attract and retain the best available personnel
for positions of responsibility and otherwise promote the success of the Company&#8217;s business. It is intended that options issued
under this Plan constitute non-qualified stock options. The general terms of awards under the option plan are that <span id="xdx_903_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage_pid_dp_uPure_c20230101__20230630_z5PM07UVv1Ul" title="Options granted percentage"><ix:nonFraction name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage" contextRef="From2023-01-01to2023-06-30" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">100</ix:nonFraction></span>% of the options
granted will vest the year following the grant. The maximum term of options granted is <span id="xdx_904_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod_dtY_c20230101__20230630_zfaXVOEDwe6b" title="Options maximum granted term"><ix:nonNumeric contextRef="From2023-01-01to2023-06-30" format="ixt-sec:duryear" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod">5</ix:nonNumeric></span> years and the exercise price for all options
are issued for not less than fair market value at the date of the grant.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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="From2023-01-01to2023-06-30" escape="true" name="us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock"><p id="xdx_895_eus-gaap--ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock_zfxl3O3f6Ta" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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 Company&#8217;s stock option activities for the year ended December 31, 2022 and the six month period
ended June 30, 2023:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8BA_z4dw2pbQQzCb" style="display: none">SCHEDULE
OF STOCK OPTION ACTIVITIES</span></span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#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="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">Number of<br /> shares</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">Exercise price<br /> per share</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">Weighted<br /> average <br />
exercise <br /> price</td><td style="padding-bottom: 1.5pt">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <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: rgb(204,238,255)">
    <td style="width: 51%">Balance, December 31, 2021</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td id="xdx_98E_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iS_pid_c20220101__20221231_zJuWVd893JWg" title="Number of shares, Beginning Balance" style="width: 13%; text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" contextRef="AsOf2021-12-31" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">789,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">$</td><td style="width: 13%; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_904_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice_iS_c20220101__20221231__srt--RangeAxis__srt--MinimumMember_zwIUCOrBWkvd" title="Exercise price per share, Beginning Balance"><ix:nonFraction name="FSI:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice" contextRef="AsOf2021-12-31_srt_MinimumMember" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">1.42</ix:nonFraction></span> &#8211; <span id="xdx_90C_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice_iS_c20220101__20221231__srt--RangeAxis__srt--MaximumMember_zpoMUlHvHEy9" title="Exercise price per share, Beginning Balance"><ix:nonFraction name="FSI:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice" contextRef="AsOf2021-12-31_srt_MaximumMember" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">4.13</ix:nonFraction></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_985_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_iS_c20220101__20221231_zffIqyKPDY91" title="Weighted average exercise price, Beginning Balance" style="width: 11%; text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" contextRef="AsOf2021-12-31" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">2.78</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>Granted</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_983_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_pid_c20220101__20221231_zEVaTFPRqHii" title="Number of shares, Granted" style="text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" contextRef="From2022-01-012022-12-31" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">981,000</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="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_908_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeGrantedOptionsExercisePrice_c20220101__20221231__srt--RangeAxis__srt--MinimumMember_zd1KasXqxSvl" title="Exercise price per share, Granted"><ix:nonFraction name="FSI:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeGrantedOptionsExercisePrice" contextRef="From2022-01-012022-12-31_srt_MinimumMember" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">3.55</ix:nonFraction></span> &#8211; <span id="xdx_903_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeGrantedOptionsExercisePrice_c20220101__20221231__srt--RangeAxis__srt--MaximumMember_z97xzdffHC6e" title="Exercise price per share, Granted"><ix:nonFraction name="FSI:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeGrantedOptionsExercisePrice" contextRef="From2022-01-012022-12-31_srt_MaximumMember" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">3.61</ix:nonFraction></span></span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_98E_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_c20220101__20221231_z6vmho7MA30j" title="Weighted average exercise price, Granted" style="text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" contextRef="From2022-01-012022-12-31" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">3.55</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">Cancelled or expired</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_985_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod_iN_pid_di_c20220101__20221231_z7vzL9wAcVX4" title="Number of shares, Cancelled or expired" style="text-align: right">(<ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod" contextRef="From2022-01-012022-12-31" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">13,486</ix:nonFraction></td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_90F_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice_c20220101__20221231__srt--RangeAxis__srt--MinimumMember_zMNXTsOzmUf9" title="Exercise price per share, Cancelled"><ix:nonFraction name="FSI:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice" contextRef="From2022-01-012022-12-31_srt_MinimumMember" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">1.70</ix:nonFraction></span> &#8211; <span id="xdx_90E_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice_c20220101__20221231__srt--RangeAxis__srt--MaximumMember_zD9eeSjjpST" title="Exercise price per share, Cancelled"><ix:nonFraction name="FSI:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice" contextRef="From2022-01-012022-12-31_srt_MaximumMember" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">3.61</ix:nonFraction></span></span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_987_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice_c20220101__20221231_zD6Ne8U90FBl" title="Weighted average exercise price, Cancelled or expired" style="text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice" contextRef="From2022-01-012022-12-31" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">2.32</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 1.5pt">Exercised</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_98D_eus-gaap--StockIssuedDuringPeriodSharesStockOptionsExercised_iN_pid_di_c20220101__20221231_zHt490JTXry" title="Number of shares, Exercised" style="border-bottom: Black 1.5pt solid; text-align: right">(<ix:nonFraction name="us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised" contextRef="From2022-01-012022-12-31" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">71,014</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">$</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_906_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExcercisedOptionsExercisePrice_c20220101__20221231__srt--RangeAxis__srt--MinimumMember_zqbAOLWygKtg" title="Exercise price per share, Exercised"><ix:nonFraction name="FSI:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExcercisedOptionsExercisePrice" contextRef="From2022-01-012022-12-31_srt_MinimumMember" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">1.42</ix:nonFraction></span> &#8211; <span id="xdx_902_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExcercisedOptionsExercisePrice_c20220101__20221231__srt--RangeAxis__srt--MaximumMember_zvozzROO4jli" title="Exercise price per share, Exercised"><ix:nonFraction name="FSI:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExcercisedOptionsExercisePrice" contextRef="From2022-01-012022-12-31_srt_MaximumMember" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">2.44</ix:nonFraction></span></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">$</td><td id="xdx_98E_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_c20220101__20221231_zFSKk0pRJjN8" title="Weighted average exercise price, Exercised" style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" contextRef="From2022-01-012022-12-31" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">1.98</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>Balance, December 31, 2022 </td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span id="xdx_905_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iS_pid_c20230101__20230630_zdDZq4yJIRp5" title="Number of shares, Beginning Balance"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">1,686,000</ix:nonFraction></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="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_902_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice_iS_pid_c20230101__20230630__srt--RangeAxis__srt--MinimumMember_z3sDOrhs83rd" title="Exercise price per share, Beginning Balance"><ix:nonFraction name="FSI:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice" contextRef="AsOf2022-12-31_srt_MinimumMember" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">1.70</ix:nonFraction></span> &#8211; <span id="xdx_90F_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice_iS_pid_c20230101__20230630__srt--RangeAxis__srt--MaximumMember_zkwgPVKgVGB1" title="Exercise price per share, Beginning Balance"><ix:nonFraction name="FSI:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice" contextRef="AsOf2022-12-31_srt_MaximumMember" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">4.13</ix:nonFraction></span></span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><span id="xdx_903_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_iS_c20230101__20230630_zqOQq4nWx8R2" title="Weighted average exercise price, Beginning Balance"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">3.27</ix:nonFraction></span></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 1.5pt">Exercised</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--StockIssuedDuringPeriodSharesStockOptionsExercised_iN_pid_di_c20230101__20230630_ztlCwuJvLPl4" title="Number of shares, Exercised" style="border-bottom: Black 1.5pt solid; text-align: right">(<ix:nonFraction name="us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised" contextRef="From2023-01-01to2023-06-30" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">8,000</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">$</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><span id="xdx_903_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExcercisedOptionsExercisePrice_c20230101__20230630_zKpoXi6RtGM4" title="Exercise price per share, Exercised"><ix:nonFraction name="FSI:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExcercisedOptionsExercisePrice" contextRef="From2023-01-01to2023-06-30" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">1.70</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">$</td><td id="xdx_98A_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_c20230101__20230630_zlMPCU8pRDBe" title="Weighted average exercise price, Exercised" style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" contextRef="From2023-01-01to2023-06-30" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">1.70</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: 1.5pt"><p style="margin: 0">Balance, June 30, 2023</p></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 id="xdx_907_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iE_pid_c20230101__20230630_zVmjWPCpwZ9k" title="Number of shares Exercisable, Ending Balance"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" contextRef="AsOf2023-06-30" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">1,678,000</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">$</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><p style="margin: 0"><span id="xdx_901_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice_iE_pid_c20230101__20230630__srt--RangeAxis__srt--MinimumMember_zfunBo7xfEF5" title="Exercise price per share, Ending Balance"><ix:nonFraction name="FSI:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice" contextRef="AsOf2023-06-30_srt_MinimumMember" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">1.75</ix:nonFraction></span> &#8211; <span id="xdx_901_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice_iE_pid_c20230101__20230630__srt--RangeAxis__srt--MaximumMember_zXPHDo7jauoj" title="Exercise price per share, Ending Balance"><ix:nonFraction name="FSI:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice" contextRef="AsOf2023-06-30_srt_MaximumMember" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">4.13</ix:nonFraction></span></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">$</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><p style="margin: 0"><span id="xdx_903_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_iE_c20230101__20230630_zLnvDSZ2mV11" title="Weighted average exercise price, Ending Balance"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" contextRef="AsOf2023-06-30" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">3.27</ix:nonFraction></span></p></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">Exercisable, June 30, 2023</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--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_iE_pid_c20230101__20230630_z1bXJQS203Jg" title="Number of shares Exercisable, Ending Balance" style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" contextRef="AsOf2023-06-30" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">672,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">$</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_906_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingExercisableOptionsExercisePrice_iE_pid_c20230101__20230630__srt--RangeAxis__srt--MinimumMember_zhWusqCJDj5" title="Exercise price per share Exercisable, Ending Balance"><ix:nonFraction name="FSI:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingExercisableOptionsExercisePrice" contextRef="AsOf2023-06-30_srt_MinimumMember" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">1.75</ix:nonFraction></span>
&#8211; <span id="xdx_90A_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingExercisableOptionsExercisePrice_iE_pid_c20230101__20230630__srt--RangeAxis__srt--MaximumMember_zpAHI9NBtmTl" title="Exercise price per share Exercisable, Ending Balance"><ix:nonFraction name="FSI:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingExercisableOptionsExercisePrice" contextRef="AsOf2023-06-30_srt_MaximumMember" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">4.13</ix:nonFraction></span></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">$</td><td id="xdx_980_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_iE_c20230101__20230630_zrEhyCDCqOFb" title="Weighted average exercise price, Ending Balance" style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" contextRef="AsOf2023-06-30" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">2.94</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  </table>

</ix:nonNumeric><p id="xdx_8A5_zZw1fQaaoZM2" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
weighted average remaining contractual life of options outstanding is <span id="xdx_909_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_dtY_c20230101__20230630_zAzMCJsyaPQk" title="Weighted-average remaining contractual life"><ix:nonNumeric contextRef="From2023-01-01to2023-06-30" format="ixt-sec:duryear" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2">3.4</ix:nonNumeric></span> years.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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="From2023-01-01to2023-06-30" escape="true" name="us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock"><p id="xdx_892_eus-gaap--ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock_zwJKaCMQJ3d2" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
fair value of each option grant is calculated using the following weighted average assumptions:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8B1_z7Jei0Vm5bP" style="display: none">SCHEDULE
OF STOCK OPTION FAIR VALUE ASSUMPTIONS</span></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; margin-left: auto; border-collapse: collapse; width: 85%; margin-right: auto">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">2022</td><td style="padding-bottom: 1.5pt">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 80%; text-align: left">Expected life &#8211; years</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_907_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_dtY_c20220101__20221231_zvLBHuU4jyn2" title="Expected life - years"><ix:nonNumeric contextRef="From2022-01-012022-12-31" format="ixt-sec:duryear" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1">3.0</ix:nonNumeric></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">Interest rate</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_902_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_pid_dp_uPure_c20220101__20221231__srt--RangeAxis__srt--MinimumMember_z1nF2QJBG8Da" title="Interest rate"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" contextRef="From2022-01-012022-12-31_srt_MinimumMember" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">1.76</ix:nonFraction></span>
&#8211; <span id="xdx_906_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_pid_dp_uPure_c20220101__20221231__srt--RangeAxis__srt--MaximumMember_zJCHJWN1n5Sc" title="Interest rate"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" contextRef="From2022-01-012022-12-31_srt_MaximumMember" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">3.64</ix:nonFraction></span></span></td><td style="text-align: left">%</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 style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_907_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_pid_dp_uPure_c20220101__20221231__srt--RangeAxis__srt--MinimumMember_zL0Ju8HveQak" title="Volatility"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" contextRef="From2022-01-012022-12-31_srt_MinimumMember" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">66.01</ix:nonFraction></span> - <span id="xdx_909_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_pid_dp_uPure_c20220101__20221231__srt--RangeAxis__srt--MaximumMember_zXdJFlpmmL6j" title="Volatility"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" contextRef="From2022-01-012022-12-31_srt_MaximumMember" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">69.66</ix:nonFraction></span></span></td><td style="text-align: left">%</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>Weighted average fair value of options granted</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_90B_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_pid_c20220101__20221231__srt--RangeAxis__srt--MinimumMember_zQ362VRFc0nl" title="Weighted average fair value of options granted"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" contextRef="From2022-01-012022-12-31_srt_MinimumMember" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">1.46</ix:nonFraction></span>
&#8211; <span id="xdx_90F_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_pid_c20220101__20221231__srt--RangeAxis__srt--MaximumMember_z9uhnUbuxZlj" title="Weighted average fair value of options granted"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" contextRef="From2022-01-012022-12-31_srt_MaximumMember" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">1.65</ix:nonFraction></span></span></td><td style="text-align: left">&#160;</td></tr>
  </table>

</ix:nonNumeric><p id="xdx_8AC_zyQl82EQV6I8" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">During
the six months ended June 30, 2023 and 2022, the Company did not grant any new options to consultants or employees. Options granted in
previous quarters resulted in expenses in the amount of $<span id="xdx_90A_eus-gaap--StockOptionPlanExpense_pp0d_c20230101__20230630__srt--TitleOfIndividualAxis__custom--ConsultantsMember_zrLfZFYMJtcd" title="Stock option plan expense"><ix:nonFraction name="us-gaap:StockOptionPlanExpense" contextRef="From2023-01-012023-06-30_custom_ConsultantsMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">330,862</ix:nonFraction></span> for consultants (2022 - $<span id="xdx_90B_eus-gaap--StockOptionPlanExpense_pp0d_c20220101__20220630__srt--TitleOfIndividualAxis__custom--ConsultantsMember_zEI8FIG7LTB" title="Stock option plan expense"><ix:nonFraction name="us-gaap:StockOptionPlanExpense" contextRef="From2022-01-012022-06-30_custom_ConsultantsMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">31,587</ix:nonFraction></span>) and in the amount of $<span id="xdx_903_ecustom--AdditionalExpensesDueToOptionsGranted_c20230101__20230630__srt--TitleOfIndividualAxis__custom--EmployeesMember_zxSm7GCoguGh" title="Additional expenses due to options granted"><ix:nonFraction name="FSI:AdditionalExpensesDueToOptionsGranted" contextRef="From2023-01-012023-06-30_custom_EmployeesMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">31,594</ix:nonFraction></span> for employees
during the six months ended June 30, 2023 (2022 - $<span id="xdx_901_ecustom--AdditionalExpensesDueToOptionsGranted_c20220101__20220630__srt--TitleOfIndividualAxis__custom--EmployeesMember_zMdkmrahwhs4" title="Additional expenses due to options granted"><ix:nonFraction name="FSI:AdditionalExpensesDueToOptionsGranted" contextRef="From2022-01-012022-06-30_custom_EmployeesMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">74,228</ix:nonFraction></span>). There were <span id="xdx_900_eus-gaap--StockIssuedDuringPeriodSharesStockOptionsExercised_c20230101__20230630__srt--TitleOfIndividualAxis__custom--EmployeesMember_z7rQ0NdQb3cj" title="Stock options exercised"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised" contextRef="From2023-01-012023-06-30_custom_EmployeesMember" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">8,000</ix:nonFraction></span> employee and <span id="xdx_90A_eus-gaap--StockIssuedDuringPeriodSharesStockOptionsExercised_dxL_c20230101__20230630__srt--TitleOfIndividualAxis__custom--ConsultantMember_zOim8qEBGVS4" title="Stock options exercised::XDX::-"><span style="-sec-ix-hidden: xdx2ixbrl1597">nil</span></span> consultant stock options exercised during
the six months ended June 30, 2023 (2022 &#8211; <span id="xdx_905_eus-gaap--StockIssuedDuringPeriodSharesStockOptionsExercised_c20220101__20220630__srt--TitleOfIndividualAxis__custom--EmployeesMember_zehgczLhn177" title="Stock options exercised"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised" contextRef="From2022-01-012022-06-30_custom_EmployeesMember" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">29,500</ix:nonFraction></span> employee; nil consultant).</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">As
of June 30, 2023, there was approximately $<span id="xdx_900_eus-gaap--EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_iI_pp0p0_c20230630_zbJQ4SZteUn3" title="Stock vested compensation non vested"><ix:nonFraction name="us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" contextRef="AsOf2023-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">1,070,505</ix:nonFraction></span> of compensation expense related to non-vested awards. This expense is expected to
be recognized over a weighted average period of <span id="xdx_906_eus-gaap--EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_dtY_c20230101__20230630_zKQkZrAJTYah" title="Weighted average period expected to be recognized"><ix:nonNumeric contextRef="From2023-01-01to2023-06-30" format="ixt-sec:duryear" name="us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1">2.2</ix:nonNumeric></span> years.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
aggregate intrinsic value of vested options outstanding at June 30, 2023 is $<span id="xdx_904_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAggregateIntrinsicValue_iI_dxL_c20230630__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--CanadaRevenueAgencyMember_zvErdMeFfsi" title="Aggregate intrinsic value of vested options::XDX::-"><span style="-sec-ix-hidden: xdx2ixbrl1605">nil</span></span> (2022 &#8211; $<span id="xdx_908_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAggregateIntrinsicValue_iI_dxL_c20221231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--CanadaRevenueAgencyMember_zWVWNJofIEaa" title="Aggregate intrinsic value of vested options::XDX::-"><span style="-sec-ix-hidden: xdx2ixbrl1607">nil</span></span>).</span></p>

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


<ix:exclude><!-- 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 --></ix:exclude>

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

</ix:nonNumeric><ix:nonNumeric contextRef="From2023-01-01to2023-06-30" escape="true" name="us-gaap:StockholdersEquityNoteDisclosureTextBlock"><p id="xdx_808_eus-gaap--StockholdersEquityNoteDisclosureTextBlock_zcbNtEujyMr5" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b>14.
<span id="xdx_82C_zJX1ICrr20e3">CAPITAL STOCK</span></b></span><b><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">.</span></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">During
the six months ended June 30, 2023, <span id="xdx_90C_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_pid_c20230101__20230630__srt--TitleOfIndividualAxis__custom--EmployeeMember_z1fBc2axrB7b" title="Stock options granted"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" contextRef="From2023-01-012023-06-30_custom_EmployeeMember" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">8,000</ix:nonFraction></span> shares were issued upon the exercise of employee stock options (2022 &#8211; <span id="xdx_909_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_pid_c20220101__20220630__srt--TitleOfIndividualAxis__custom--EmployeeMember_zXP3F3SoBQtg" title="Stock options granted"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" contextRef="From2022-01-012022-06-30_custom_EmployeeMember" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">29,500</ix:nonFraction></span>).</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">During
the six months ended June 30 2023, the Company issued <span id="xdx_90E_eus-gaap--StockIssuedDuringPeriodSharesIssuedForServices_c20230101__20230630_zhz6VXGWhtli" title="Consultant for services, shares"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodSharesIssuedForServices" contextRef="From2023-01-01to2023-06-30" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">1,272</ix:nonFraction></span> shares to a consultant for services rendered, resulting in an expense of
$<span id="xdx_90F_eus-gaap--StockIssuedDuringPeriodValueIssuedForServices_c20230101__20230630_zmpc3LJZwwki" title="Consultant for services, value"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueIssuedForServices" contextRef="From2023-01-01to2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">4,070</ix:nonFraction></span> on the unaudited interim condensed consolidated statements of income and comprehensive income for the six months ended June 30, 2023</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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; text-align: justify; margin: 0pt 0; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
six months ended June 30, 2023, the Company announced a special dividend of $<span id="xdx_909_eus-gaap--DividendsPayableAmountPerShare_iI_pid_c20230630_zJT4oAg0RP44" title="Dividends per share"><ix:nonFraction name="us-gaap:DividendsPayableAmountPerShare" contextRef="AsOf2023-06-30" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">0.05</ix:nonFraction></span> per share that was paid on May 16, 2023 to shareholders.</span></p>

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

</ix:nonNumeric><ix:nonNumeric contextRef="From2023-01-01to2023-06-30" escape="true" name="us-gaap:MinorityInterestDisclosureTextBlock"><p id="xdx_80E_eus-gaap--MinorityInterestDisclosureTextBlock_z7TPFrlKdtd1" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b>15.
<span id="xdx_828_zrhQKiglLGe">NON-CONTROLLING INTERESTS</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b>(</b></span><b><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">a<span style="font-variant: small-caps">)
</span></span></b><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">ENP Investments is a limited liability corporation
(&#8220;LLC&#8221;) that manufactures and distributes golf, turf and ornamental agriculture products in Mendota, Illinois. The Company
owns a<span id="xdx_908_eus-gaap--SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest_pid_dp_uPure_c20230101__20230630__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember_z0CWn39X6Gsg" title="Subsidiary company ownership interest rate"> <ix:nonFraction name="us-gaap:SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest" contextRef="From2023-01-012023-06-30_custom_ENPInvestmentsLLCMember" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">65</ix:nonFraction></span>% interest in ENP Investments through its wholly-owned subsidiary NanoChem. An unrelated party (&#8220;NCI&#8221;) owns the
remaining <span id="xdx_90B_eus-gaap--MinorityInterestOwnershipPercentageByParent_iI_pid_dp_uPure_c20230630__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember_zbWcpUq0bfY9" title="Related party owner ship percentage"><ix:nonFraction name="us-gaap:MinorityInterestOwnershipPercentageByParent" contextRef="AsOf2023-06-30_custom_ENPInvestmentsLLCMember418066937" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">35</ix:nonFraction></span>% interest in ENP Investments. ENP Mendota is a wholly owned subsidiary of ENP Investments. ENP Mendota leases warehouse
space. For financial reporting purposes, the assets, liabilities and earnings of both of the LLC&#8217;s are consolidated into these
financial statements. The NCI&#8217;s ownership interest in ENP Investments is recorded in non-controlling interests in these consolidated
financial statements. The non-controlling interest represents NCI&#8217;s interest in the earnings and equity of ENP Investments. ENP
Investments is allocated to the TPA segment.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">ENP
Investments makes cash distributions to its equity owners based on formulas defined within its Ownership Interest Purchase Agreement
dated October 1, 2018. Distributions are defined in the Ownership Interest Purchase Agreement as cash on hand to the extent it exceeds
current and anticipated long-term and short-term needs, including, without limitation, needs for operating expenses, debt service, acquisitions,
reserves, and mandatory distributions, if any.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">From
the effective date of acquisition onward, the minimum distributions requirements under the Ownership Interest Purchase Agreement were
satisfied. The total distribution from the effective date of acquisition onward was $<span id="xdx_906_eus-gaap--PaymentsToMinorityShareholders_c20230101__20230630__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember_zhDYzLDgMH03" title="Partnership distribution to non-controlling interest"><ix:nonFraction name="us-gaap:PaymentsToMinorityShareholders" contextRef="From2023-01-012023-06-30_custom_ENPInvestmentsLLCMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,894,214</ix:nonFraction></span>.</span></p>

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


<ix:exclude><!-- 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 --></ix:exclude>

<ix:nonNumeric contextRef="From2023-01-01to2023-06-30" escape="true" name="FSI:ScheduleOfDistributionsTableTextBlock"><p id="xdx_89F_ecustom--ScheduleOfDistributionsTableTextBlock_zFMxiGRJt3Te" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8BC_ztHIY4YTAjYb" style="display: none">SCHEDULE
OF DISTRIBUTIONS</span></span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 85%; margin-right: auto">
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 80%; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Balance, December 31, 2021</span></td><td style="width: 2%; text-align: left">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_989_eus-gaap--MinorityInterest_iS_c20220101__20221231__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_zgvlhy7K9l2c" title="Distribution to noncontrolling interests, Beginning balance" style="width: 16%; text-align: right"><ix:nonFraction name="us-gaap:MinorityInterest" contextRef="AsOf2021-12-31_custom_ENPInvestmentsLLCMember_custom_OwnershipInterestPurchaseAgreementMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,602,843</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"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Distribution</span></td><td style="text-align: left">&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98C_eus-gaap--MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders_iN_di_c20220101__20221231__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_zKh85xGUkdb2" title="Distribution" style="text-align: right">(<ix:nonFraction name="us-gaap:MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders" contextRef="From2022-01-012022-12-31_custom_ENPInvestmentsLLCMember_custom_OwnershipInterestPurchaseAgreementMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">689,434</ix:nonFraction></td><td style="text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Non-controlling interest share of income</span></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 id="xdx_98A_eus-gaap--NetIncomeLossAttributableToNoncontrollingInterest_c20220101__20221231__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_zdZIR027pq7j" title="Non-controlling interest share of income" style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:NetIncomeLossAttributableToNoncontrollingInterest" contextRef="From2022-01-012022-12-31_custom_ENPInvestmentsLLCMember_custom_OwnershipInterestPurchaseAgreementMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">691,625</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="text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Balance, December 31, 2022</span></td><td style="text-align: left">&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_989_eus-gaap--MinorityInterest_iS_c20230101__20230630__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_zm99Go8reLVe" title="Distribution to noncontrolling interests, Beginning balance" style="text-align: right"><ix:nonFraction name="us-gaap:MinorityInterest" contextRef="AsOf2022-12-31_custom_ENPInvestmentsLLCMember_custom_OwnershipInterestPurchaseAgreementMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,605,034</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"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Distribution</span></td><td style="text-align: left">&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_982_eus-gaap--MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders_iN_di_c20230101__20230630__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_zrpXy4I02COg" title="Distribution" style="text-align: right">(<ix:nonFraction name="us-gaap:MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders" contextRef="From2023-01-012023-06-30_custom_ENPInvestmentsLLCMember_custom_OwnershipInterestPurchaseAgreementMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">387,696</ix:nonFraction></td><td style="text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 1.5pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Non-controlling interest share of income</span></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 id="xdx_987_eus-gaap--NetIncomeLossAttributableToNoncontrollingInterest_c20230101__20230630__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_zXNJOMaOcfh6" title="Non-controlling interest share of income" style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:NetIncomeLossAttributableToNoncontrollingInterest" contextRef="From2023-01-012023-06-30_custom_ENPInvestmentsLLCMember_custom_OwnershipInterestPurchaseAgreementMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">264,987</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: 1.5pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Balance, June 30, 2023</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td id="xdx_98E_eus-gaap--MinorityInterest_iE_c20230101__20230630__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_zpYmS9UzsNCc" title="Distribution to noncontrolling interests, Ending balance" style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:MinorityInterest" contextRef="AsOf2023-06-30_custom_ENPInvestmentsLLCMember_custom_OwnershipInterestPurchaseAgreementMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,482,325</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  </table>

</ix:nonNumeric><p id="xdx_8A6_zqNP7Yr6dvx8" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">During
the six months ended June 30, 2023, the Company had sales of $<span id="xdx_906_eus-gaap--Revenues_c20230101__20230630__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember_zEPStAfTxf8a" title="Sales"><ix:nonFraction name="us-gaap:Revenues" contextRef="From2023-01-012023-06-30_custom_ENPInvestmentsLLCMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,203,761</ix:nonFraction></span> (2022 - $<span id="xdx_90A_eus-gaap--Revenues_c20220101__20220630__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember_zMdz8PaNAKfj" title="Sales"><ix:nonFraction name="us-gaap:Revenues" contextRef="From2022-01-012022-06-30_custom_ENPInvestmentsLLCMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,760,661</ix:nonFraction></span>) to the party that holds <span id="xdx_903_eus-gaap--MinorityInterestOwnershipPercentageByParent_iI_pid_dp_uPure_c20230630__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember_zVy3CijguaOe" title="Related party ownership percentage"><ix:nonFraction name="us-gaap:MinorityInterestOwnershipPercentageByParent" contextRef="AsOf2023-06-30_custom_ENPInvestmentsLLCMember418066937" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">35</ix:nonFraction></span>% interest in ENP
Investments, of which $<span id="xdx_906_eus-gaap--AccountsReceivableNetCurrent_iI_c20230630__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember_zpCPAIe1er6g" title="Accounts receivable"><ix:nonFraction name="us-gaap:AccountsReceivableNetCurrent" contextRef="AsOf2023-06-30_custom_ENPInvestmentsLLCMember418066937" format="ixt:numdotdecimal" decimals="0" unitRef="USD">359,435</ix:nonFraction></span> is included within Accounts Receivable as of June 30, 2023 (December 31, 2022 &#8211; $<span id="xdx_90C_eus-gaap--AccountsReceivableNetCurrent_iI_c20221231__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember_z547LM1WIdC9" title="Accounts receivable"><ix:nonFraction name="us-gaap:AccountsReceivableNetCurrent" contextRef="AsOf2022-12-31_custom_ENPInvestmentsLLCMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">3,634,083</ix:nonFraction></span>).</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b>(</b></span><b><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">b<span style="font-variant: small-caps">)
</span></span></b><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">317 Mendota is a limited liability corporation
(&#8220;LLC&#8221;) that owns real estate that the Company intends to occupy part of while renting out the excess. The Company owns a
<span id="xdx_904_eus-gaap--SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest_pid_dp_uPure_c20230101__20230630__srt--OwnershipAxis__custom--MendotaLLCMember_zKWiHrsGXP45" title="Subsidiary company ownership interest rate"><ix:nonFraction name="us-gaap:SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest" contextRef="From2023-01-012023-06-30_custom_MendotaLLCMember" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">80</ix:nonFraction></span>% interest in 317 Mendota and an unrelated party (&#8220;NCI&#8221;) owns the remaining <span id="xdx_906_eus-gaap--MinorityInterestOwnershipPercentageByParent_iI_pid_dp_uPure_c20230630__srt--OwnershipAxis__custom--MendotaLLCMember_z4llkMj3XUxj" title="Related party owner ship percentage"><ix:nonFraction name="us-gaap:MinorityInterestOwnershipPercentageByParent" contextRef="AsOf2023-06-30_custom_MendotaLLCMember" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">20</ix:nonFraction></span>% interest in 317 Mendota. For financial
reporting purposes, the assets, liabilities and earnings of the LLC&#8217;s are consolidated into these financial statements. The NCI&#8217;s
ownership interest in 317 Mendota is recorded in non-controlling interests in these consolidated financial statements. The non-controlling
interest represents NCI&#8217;s interest in the earnings and equity of 317 Mendota. 317 Mendota is allocated to the TPA segment as that
is the intended use of the building.</span></p>

<ix:nonNumeric contextRef="From2023-01-01to2023-06-30" escape="true" name="FSI:ScheduleOfNonControllingInterestRelatedToAcquisitionTableTextBlock"><p id="xdx_891_ecustom--ScheduleOfNonControllingInterestRelatedToAcquisitionTableTextBlock_zUsN686B5kMa" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8BA_zAF5i0ZdUOI" style="display: none">SCHEDULE
OF NON CONTROLLING INTEREST RELATED TO ACQUISITION </span></span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 85%; margin-right: auto">
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Balance, December 31, 2022</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_989_eus-gaap--MinorityInterest_iS_c20230101__20230630__srt--OwnershipAxis__custom--MendotaLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_zTdWVGvNwkZc" title="Distribution to noncontrolling interests, Beginning balance" style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1661">-</span></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="width: 80%; padding-bottom: 1.5pt">Acquisition</td><td style="width: 2%; padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; width: 1%; text-align: left">&#160;</td><td id="xdx_985_eus-gaap--PaymentsToAcquireBusinessesAndInterestInAffiliates_c20230101__20230630__srt--OwnershipAxis__custom--MendotaLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_z5odYIPDKiBj" title="Distribution to noncontrolling interests, Acquisition" style="border-bottom: Black 1.5pt solid; width: 16%; text-align: right"><ix:nonFraction name="us-gaap:PaymentsToAcquireBusinessesAndInterestInAffiliates" contextRef="From2023-01-012023-06-30_custom_MendotaLLCMember_custom_OwnershipInterestPurchaseAgreementMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">200,000</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: 1.5pt">Balance, June 30, 2023</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td id="xdx_981_eus-gaap--MinorityInterest_iE_c20230101__20230630__srt--OwnershipAxis__custom--MendotaLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_zNhAftE5Et9j" title="Distribution to noncontrolling interests, Ending balance" style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:MinorityInterest" contextRef="AsOf2023-06-30_custom_MendotaLLCMember_custom_OwnershipInterestPurchaseAgreementMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">200,000</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  </table>

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

</ix:nonNumeric><ix:nonNumeric contextRef="From2023-01-01to2023-06-30" escape="true" name="us-gaap:SegmentReportingDisclosureTextBlock"><p id="xdx_801_eus-gaap--SegmentReportingDisclosureTextBlock_zy6MyNQxIsU4" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b>16.
<span id="xdx_822_z6gjLJeIX63j">SEGMENTED, SIGNIFICANT CUSTOMER INFORMATION AND ECONOMIC DEPENDENCY</span></b></span><b><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">.</span></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company operates in <span id="xdx_902_eus-gaap--NumberOfOperatingSegments_dc_uSegments_c20230101__20230630_zXHpLJ035l0l" title="Number of operating segments"><ix:nonFraction name="us-gaap:NumberOfOperatingSegments" contextRef="From2023-01-01to2023-06-30" format="ixt-sec:numwordsen" decimals="INF" unitRef="Segments">two</ix:nonFraction></span> segments:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>(a)
</b>Energy and water conservation products (as shown under the column heading &#8220;EWCP&#8221; below), which consists of a (i) liquid
swimming pool blankets which save energy and water by inhibiting evaporation from the pool surface, and (ii) food-safe powdered form
of the active ingredient within the liquid blankets and which are designed to be used in still or slow moving drinking water sources.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>(b)
</b>Biodegradable polymers, also known as TPA&#8217;s (as shown under the column heading &#8220;BCPA&#8221; below), used by the petroleum,
chemical, utility and mining industries to prevent corrosion and scaling in water piping. This product can also be used in detergents
to increase biodegradability and in agriculture to increase crop yields by enhancing fertilizer uptake.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
third product line is nitrogen conservation products used for the agriculture industry. These products decrease the loss of nitrogen
fertilizer after initial application and allows less fertilizer to be used. These products are made and sold by the Company&#8217;s TPA
division.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
accounting policies of the segments are the same as those described in Note 2, <i>Significant Accounting Policies</i>. The Company evaluates
performance based on profit or loss from operations before income taxes, not including nonrecurring gains and losses and foreign exchange
gains and losses.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company&#8217;s reportable segments are strategic business units that offer different, but synergistic products and services. They are
managed separately because each business requires different technology and marketing strategies.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 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 --></ix:exclude>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Three
months ended June 30, 2023:</span></p>

<ix:nonNumeric contextRef="From2023-01-01to2023-06-30" escape="true" name="us-gaap:ReconciliationOfRevenueFromSegmentsToConsolidatedTextBlock"><p id="xdx_89A_eus-gaap--ReconciliationOfRevenueFromSegmentsToConsolidatedTextBlock_zB5lCpW4EKlj" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8BD_zgdwHgW2mvH6" style="display: none">SCHEDULE
OF REPORTABLE SEGMENTS</span></span><span style="font-family: Times New Roman, Times, Serif">&#160;</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 85%; margin-right: auto">
  <tr style="vertical-align: bottom">
    <td style="text-align: justify">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_49A_20230401__20230630__srt--ProductOrServiceAxis__custom--EWCPMember__us-gaap--StatementBusinessSegmentsAxis__custom--SegmentMember_zRldm77H4yCl" style="border-bottom: Black 1.5pt solid; text-align: center">EWCP</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_49C_20230401__20230630__srt--ProductOrServiceAxis__custom--TPAMember__us-gaap--StatementBusinessSegmentsAxis__custom--SegmentMember_zWqFGIuZ9vr8" style="border-bottom: Black 1.5pt solid; text-align: center">TPA</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_494_20230401__20230630__us-gaap--StatementBusinessSegmentsAxis__custom--SegmentMember_zmSxeg0g8uFb" style="border-bottom: Black 1.5pt solid; text-align: center">Total</td><td style="padding-bottom: 1.5pt">&#160;</td></tr>
  <tr id="xdx_409_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_zCUz2ARy1Yfj" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 46%; text-align: justify">Revenue</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2023-04-012023-06-30_custom_EWCPMember_custom_SegmentMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">220,602</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: 14%; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2023-04-012023-06-30_custom_TPAMember_custom_SegmentMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">10,100,689</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: 14%; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2023-04-012023-06-30_custom_SegmentMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">10,331,291</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--InterestExpense_z4TQMxUzcfSe" style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">Interest expense</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1677">-</span></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:InterestExpense" contextRef="From2023-04-012023-06-30_custom_TPAMember_custom_SegmentMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">115,498</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:InterestExpense" contextRef="From2023-04-012023-06-30_custom_SegmentMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">115,498</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_407_eus-gaap--DepreciationNonproduction_zRhlBiljm7d2" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Depreciation and amortization</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:DepreciationNonproduction" contextRef="From2023-04-012023-06-30_custom_EWCPMember_custom_SegmentMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">4,440</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:DepreciationNonproduction" contextRef="From2023-04-012023-06-30_custom_TPAMember_custom_SegmentMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">381,951</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:DepreciationNonproduction" contextRef="From2023-04-012023-06-30_custom_SegmentMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">386,390</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_402_eus-gaap--IncomeTaxExpenseBenefit_zz0sFjM07wWi" style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">Income tax expense</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:IncomeTaxExpenseBenefit" contextRef="From2023-04-012023-06-30_custom_EWCPMember_custom_SegmentMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">11,657</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:IncomeTaxExpenseBenefit" contextRef="From2023-04-012023-06-30_custom_TPAMember_custom_SegmentMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">342,715</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:IncomeTaxExpenseBenefit" contextRef="From2023-04-012023-06-30_custom_SegmentMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">354,372</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--NetIncomeLoss_z0YI7fL9eQD8" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Segment profit (loss)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2023-04-012023-06-30_custom_EWCPMember_custom_SegmentMember" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">41,262</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:NetIncomeLoss" contextRef="From2023-04-012023-06-30_custom_TPAMember_custom_SegmentMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">851,127</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:NetIncomeLoss" contextRef="From2023-04-012023-06-30_custom_SegmentMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">809,865</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_ecustom--SegmentAssets_z95Bf0eWpikc" style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">Segment assets</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="FSI:SegmentAssets" contextRef="From2023-04-012023-06-30_custom_EWCPMember_custom_SegmentMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">3,257,019</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="FSI:SegmentAssets" contextRef="From2023-04-012023-06-30_custom_TPAMember_custom_SegmentMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">49,544,894</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="FSI:SegmentAssets" contextRef="From2023-04-012023-06-30_custom_SegmentMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">52,801,913</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_406_eus-gaap--PaymentsToAcquirePropertyPlantAndEquipment_iN_di_zlAFdNdRQyY7" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Expenditures for segment assets</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1697">-</span></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:PaymentsToAcquirePropertyPlantAndEquipment" contextRef="From2023-04-012023-06-30_custom_TPAMember_custom_SegmentMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">3,571,133</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="From2023-04-012023-06-30_custom_SegmentMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">3,571,133</ix:nonFraction></td><td style="text-align: left">)</td></tr>
  </table>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Three
months ended June 30, 2022:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><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: 85%; margin-right: auto">
  <tr style="vertical-align: bottom">
    <td style="text-align: justify">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_49E_20220401__20220630__srt--ProductOrServiceAxis__custom--EWCPMember__us-gaap--StatementBusinessSegmentsAxis__custom--SegmentMember_zWGo4XsGoDti" style="border-bottom: Black 1.5pt solid; text-align: center">EWCP</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_49D_20220401__20220630__srt--ProductOrServiceAxis__custom--TPAMember__us-gaap--StatementBusinessSegmentsAxis__custom--SegmentMember_zcuBR8xENAoh" style="border-bottom: Black 1.5pt solid; text-align: center">TPA</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_496_20220401__20220630__us-gaap--StatementBusinessSegmentsAxis__custom--SegmentMember_ziH6G9p4Jghj" style="border-bottom: Black 1.5pt solid; text-align: center">Total</td><td style="padding-bottom: 1.5pt">&#160;</td></tr>
  <tr id="xdx_409_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_zuBvAHhRt9q8" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 46%; text-align: justify">Revenue</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2022-04-012022-06-30_custom_EWCPMember_custom_SegmentMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">189,569</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: 14%; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2022-04-012022-06-30_custom_TPAMember_custom_SegmentMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">10,975,574</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: 14%; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2022-04-012022-06-30_custom_SegmentMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">11,165,143</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--InterestExpense_z598TfuL9hT4" style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">Interest expense</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1705">-</span></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:InterestExpense" contextRef="From2022-04-012022-06-30_custom_TPAMember_custom_SegmentMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">52,139</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:InterestExpense" contextRef="From2022-04-012022-06-30_custom_SegmentMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">52,139</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_407_eus-gaap--DepreciationNonproduction_zGCfYCmzE6Rf" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Depreciation and amortization</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:DepreciationNonproduction" contextRef="From2022-04-012022-06-30_custom_EWCPMember_custom_SegmentMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">9,202</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:DepreciationNonproduction" contextRef="From2022-04-012022-06-30_custom_TPAMember_custom_SegmentMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">230,588</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:DepreciationNonproduction" contextRef="From2022-04-012022-06-30_custom_SegmentMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">239,790</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_402_eus-gaap--IncomeTaxExpenseBenefit_z631UQSbBmPj" style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">Income tax expense</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:IncomeTaxExpenseBenefit" contextRef="From2022-04-012022-06-30_custom_EWCPMember_custom_SegmentMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">11,306</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:IncomeTaxExpenseBenefit" contextRef="From2022-04-012022-06-30_custom_TPAMember_custom_SegmentMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">531,496</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:IncomeTaxExpenseBenefit" contextRef="From2022-04-012022-06-30_custom_SegmentMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">542,802</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--NetIncomeLoss_zj1uvWPGFNE3" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Segment profit (loss)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2022-04-012022-06-30_custom_EWCPMember_custom_SegmentMember" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">84,564</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:NetIncomeLoss" contextRef="From2022-04-012022-06-30_custom_TPAMember_custom_SegmentMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,747,019</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:NetIncomeLoss" contextRef="From2022-04-012022-06-30_custom_SegmentMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,662,455</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_ecustom--SegmentAssets_zFvYsZFB9Ma" style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">Segment assets</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="FSI:SegmentAssets" contextRef="From2022-04-012022-06-30_custom_EWCPMember_custom_SegmentMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,386,338</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="FSI:SegmentAssets" contextRef="From2022-04-012022-06-30_custom_TPAMember_custom_SegmentMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">45,168,719</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="FSI:SegmentAssets" contextRef="From2022-04-012022-06-30_custom_SegmentMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">47,555,057</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_406_eus-gaap--PaymentsToAcquirePropertyPlantAndEquipment_iN_di_zoWdJNx2zqqd" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Expenditures for segment assets</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1725">-</span></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:PaymentsToAcquirePropertyPlantAndEquipment" contextRef="From2022-04-012022-06-30_custom_TPAMember_custom_SegmentMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">245,383</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="From2022-04-012022-06-30_custom_SegmentMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">245,383</ix:nonFraction></td><td style="text-align: left">)</td></tr>
  </table>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Six
months ended June 30, 2023:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><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: 85%; margin-right: auto">
  <tr style="vertical-align: bottom">
    <td style="text-align: justify">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_49E_20230101__20230630__srt--ProductOrServiceAxis__custom--EWCPMember__us-gaap--StatementBusinessSegmentsAxis__custom--SegmentMember_zdHXUTfw7RUk" style="border-bottom: Black 1.5pt solid; text-align: center">EWCP</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_499_20230101__20230630__srt--ProductOrServiceAxis__custom--TPAMember__us-gaap--StatementBusinessSegmentsAxis__custom--SegmentMember_zkqUiQD3TN8j" style="border-bottom: Black 1.5pt solid; text-align: center">TPA</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_49F_20230101__20230630__us-gaap--StatementBusinessSegmentsAxis__custom--SegmentMember_z4mUmI6Ar6ve" style="border-bottom: Black 1.5pt solid; text-align: center">Total</td><td style="padding-bottom: 1.5pt">&#160;</td></tr>
  <tr id="xdx_409_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_zpfak6L3f418" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 46%; text-align: justify">Revenue</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2023-01-012023-06-30_custom_EWCPMember_custom_SegmentMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">301,262</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: 14%; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2023-01-012023-06-30_custom_TPAMember_custom_SegmentMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">19,877,546</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: 14%; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2023-01-012023-06-30_custom_SegmentMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">20,178,808</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--InterestExpense_zZY0TNv7qMS8" style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">Interest expense</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1733">-</span></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:InterestExpense" contextRef="From2023-01-012023-06-30_custom_TPAMember_custom_SegmentMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">250,368</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:InterestExpense" contextRef="From2023-01-012023-06-30_custom_SegmentMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">250,368</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_407_eus-gaap--DepreciationNonproduction_z8kCrmaUnSRh" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Depreciation and amortization</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:DepreciationNonproduction" contextRef="From2023-01-012023-06-30_custom_EWCPMember_custom_SegmentMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">8,719</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:DepreciationNonproduction" contextRef="From2023-01-012023-06-30_custom_TPAMember_custom_SegmentMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">742,855</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:DepreciationNonproduction" contextRef="From2023-01-012023-06-30_custom_SegmentMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">751,574</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_402_eus-gaap--IncomeTaxExpenseBenefit_z43hc7eNf4L2" style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">Income tax expense</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:IncomeTaxExpenseBenefit" contextRef="From2023-01-012023-06-30_custom_EWCPMember_custom_SegmentMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">12,571</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:IncomeTaxExpenseBenefit" contextRef="From2023-01-012023-06-30_custom_TPAMember_custom_SegmentMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">641,578</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:IncomeTaxExpenseBenefit" contextRef="From2023-01-012023-06-30_custom_SegmentMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">654,149</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--NetIncomeLoss_zxnDC5RSvCu1" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Segment profit (loss)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2023-01-012023-06-30_custom_EWCPMember_custom_SegmentMember" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">192,990</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:NetIncomeLoss" contextRef="From2023-01-012023-06-30_custom_TPAMember_custom_SegmentMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,887,224</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:NetIncomeLoss" contextRef="From2023-01-012023-06-30_custom_SegmentMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,694,234</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_ecustom--SegmentAssets_zVulLeMhxOX9" style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">Segment assets</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="FSI:SegmentAssets" contextRef="From2023-01-012023-06-30_custom_EWCPMember_custom_SegmentMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">3,257,019</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="FSI:SegmentAssets" contextRef="From2023-01-012023-06-30_custom_TPAMember_custom_SegmentMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">49,544,894</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="FSI:SegmentAssets" contextRef="From2023-01-012023-06-30_custom_SegmentMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">52,801,913</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_406_eus-gaap--PaymentsToAcquirePropertyPlantAndEquipment_iN_di_zdMgP6ooqV3" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Expenditures for segment assets</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1753">-</span></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:PaymentsToAcquirePropertyPlantAndEquipment" contextRef="From2023-01-012023-06-30_custom_TPAMember_custom_SegmentMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">3,784,193</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="From2023-01-012023-06-30_custom_SegmentMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">3,784,193</ix:nonFraction></td><td style="text-align: left">)</td></tr>
  </table>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Six
months ended June 30, 2022:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><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: 85%; margin-right: auto">
  <tr style="vertical-align: bottom">
    <td style="text-align: justify">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_490_20220101__20220630__srt--ProductOrServiceAxis__custom--EWCPMember__us-gaap--StatementBusinessSegmentsAxis__custom--SegmentMember_zJImNPBsDdBg" style="border-bottom: Black 1.5pt solid; text-align: center">EWCP</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_491_20220101__20220630__srt--ProductOrServiceAxis__custom--TPAMember__us-gaap--StatementBusinessSegmentsAxis__custom--SegmentMember_z033hGIFvJ3k" style="border-bottom: Black 1.5pt solid; text-align: center">TPA</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_495_20220101__20220630__us-gaap--StatementBusinessSegmentsAxis__custom--SegmentMember_zsRbv7Sl9VHc" style="border-bottom: Black 1.5pt solid; text-align: center">Total</td><td style="padding-bottom: 1.5pt">&#160;</td></tr>
  <tr id="xdx_409_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_zgwFx06dhq08" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 46%; text-align: justify">Revenue</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2022-01-012022-06-30_custom_EWCPMember_custom_SegmentMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">236,822</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: 14%; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2022-01-012022-06-30_custom_TPAMember_custom_SegmentMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">21,711,601</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: 14%; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2022-01-012022-06-30_custom_SegmentMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">21,948,423</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--InterestExpense_zpvUlGwNiRp7" style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">Interest expense</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1761">-</span></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:InterestExpense" contextRef="From2022-01-012022-06-30_custom_TPAMember_custom_SegmentMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">109,757</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:InterestExpense" contextRef="From2022-01-012022-06-30_custom_SegmentMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">109,757</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_407_eus-gaap--DepreciationNonproduction_zdXc3qZp8h4d" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Depreciation and amortization</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:DepreciationNonproduction" contextRef="From2022-01-012022-06-30_custom_EWCPMember_custom_SegmentMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">18,446</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:DepreciationNonproduction" contextRef="From2022-01-012022-06-30_custom_TPAMember_custom_SegmentMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">453,832</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:DepreciationNonproduction" contextRef="From2022-01-012022-06-30_custom_SegmentMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">472,278</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_402_eus-gaap--IncomeTaxExpenseBenefit_zwMOTJMeqH1j" style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">Income tax expense</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:IncomeTaxExpenseBenefit" contextRef="From2022-01-012022-06-30_custom_EWCPMember_custom_SegmentMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">11,306</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:IncomeTaxExpenseBenefit" contextRef="From2022-01-012022-06-30_custom_TPAMember_custom_SegmentMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,243,942</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:IncomeTaxExpenseBenefit" contextRef="From2022-01-012022-06-30_custom_SegmentMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,255,248</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--NetIncomeLoss_z2VM4KN29D5c" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Segment profit (loss)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2022-01-012022-06-30_custom_EWCPMember_custom_SegmentMember" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">208,737</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:NetIncomeLoss" contextRef="From2022-01-012022-06-30_custom_TPAMember_custom_SegmentMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">3,404,251</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:NetIncomeLoss" contextRef="From2022-01-012022-06-30_custom_SegmentMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">3,195,514</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_ecustom--SegmentAssets_z6U7I5QK2YCa" style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">Segment assets</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="FSI:SegmentAssets" contextRef="From2022-01-012022-06-30_custom_EWCPMember_custom_SegmentMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,386,338</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="FSI:SegmentAssets" contextRef="From2022-01-012022-06-30_custom_TPAMember_custom_SegmentMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">45,168,719</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="FSI:SegmentAssets" contextRef="From2022-01-012022-06-30_custom_SegmentMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">47,555,057</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_406_eus-gaap--PaymentsToAcquirePropertyPlantAndEquipment_iN_di_zScdJBUzD3M" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Expenditures for segment assets</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1781">-</span></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:PaymentsToAcquirePropertyPlantAndEquipment" contextRef="From2022-01-012022-06-30_custom_TPAMember_custom_SegmentMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">422,067</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="From2022-01-012022-06-30_custom_SegmentMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">422,067</ix:nonFraction></td><td style="text-align: left">)</td></tr>
  </table>

</ix:nonNumeric><p id="xdx_8A1_zBqBTKHL7ora" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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="From2023-01-01to2023-06-30" escape="true" name="us-gaap:ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock"><p id="xdx_891_eus-gaap--ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock_zQBlM1SvLQA8" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.5in; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
sales generated in the United States and Canada are as follows:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.5in; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"></span><span style="display: none"><span id="xdx_8B3_zCxRdrHChQO">SCHEDULE OF REVENUE GENERATED IN UNITED STATES AND CANADA</span></span>&#160;</span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 75%; margin-right: auto">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_49E_20230101__20230630_zIn9CTbzLMd4" style="border-bottom: Black 1.5pt solid; text-align: center">Six months ended <br /> June 30, 2023</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_492_20220101__20220630_zZDt3iopyZqk" style="border-bottom: Black 1.5pt solid; text-align: center">Six months ended <br /> June 30, 2022</td><td style="padding-bottom: 1.5pt">&#160;</td></tr>
  <tr id="xdx_40E_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_hsrt--StatementGeographicalAxis__country--CA_zVRdumunHcEc" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 54%">Canada</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 18%; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2023-01-012023-06-30_country_CA" format="ixt:numdotdecimal" decimals="0" unitRef="USD">313,058</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: 20%; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2022-01-012022-06-30_country_CA" format="ixt:numdotdecimal" decimals="0" unitRef="USD">279,517</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_409_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_hsrt--StatementGeographicalAxis__custom--UnitedStatesandAbroadMember_zTq7tOWZlfyk" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1.5pt">United States and abroad</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:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2023-01-012023-06-30_custom_UnitedStatesandAbroadMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">19,865,750</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:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2022-01-012022-06-30_custom_UnitedStatesandAbroadMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">21,668,906</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_zEyMcFXoPmld" 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">$</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2023-01-01to2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">20,178,808</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:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2022-01-012022-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">21,948,423</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

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


<ix:exclude><!-- 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 --></ix:exclude>

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

<ix:nonNumeric contextRef="From2023-01-01to2023-06-30" escape="true" name="us-gaap:ScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock"><p id="xdx_897_eus-gaap--ScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock_z8mphhs4cuRa" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company&#8217;s long-lived assets (property, equipment, leaseholds, intangibles, goodwill and right of use
assets) are located in Canada and the United States as follows:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;<span style="display: none"><span id="xdx_8B0_zWHDJKbLcXB4">SCHEDULE OF LONG-LIVED ASSETS ARE LOCATED IN CANADA AND UNITED STATES</span></span></span></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; margin-left: auto; border-collapse: collapse; width: 75%; margin-right: auto">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_491_20230630_zhuiEjesy1M3" style="border-bottom: Black 1.5pt solid; text-align: center">June 30, 2023</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_495_20221231_z9xjpH3bPkc9" style="border-bottom: Black 1.5pt solid; text-align: center">December 31, 2022</td><td style="padding-bottom: 1.5pt">&#160;</td></tr>
  <tr id="xdx_409_eus-gaap--NoncurrentAssets_iI_hsrt--StatementGeographicalAxis__country--CA_zd7nh4WvtGhc" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 54%">Canada</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 18%; text-align: right"><ix:nonFraction name="us-gaap:NoncurrentAssets" contextRef="AsOf2023-06-30_country_CA" format="ixt:numdotdecimal" decimals="0" unitRef="USD">151,300</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: 20%; text-align: right"><ix:nonFraction name="us-gaap:NoncurrentAssets" contextRef="AsOf2022-12-31_country_CA" format="ixt:numdotdecimal" decimals="0" unitRef="USD">150,890</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_407_eus-gaap--NoncurrentAssets_iI_hsrt--StatementGeographicalAxis__country--US_zVyFuaBS5pol" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1.5pt">United States</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:NoncurrentAssets" contextRef="AsOf2023-06-30_country_US" format="ixt:numdotdecimal" decimals="0" unitRef="USD">17,706,417</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:NoncurrentAssets" contextRef="AsOf2022-12-31_country_US" format="ixt:numdotdecimal" decimals="0" unitRef="USD">14,699,896</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_40A_eus-gaap--NoncurrentAssets_iI_zSBMke8xSs0k" 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">$</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:NoncurrentAssets" contextRef="AsOf2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">17,857,717</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:NoncurrentAssets" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">14,850,786</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

</ix:nonNumeric><p id="xdx_8AA_zXlTBUmJco6g" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Three
primary customers accounted for $<span id="xdx_908_eus-gaap--AccountsReceivableNet_iI_c20230630__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember__srt--MajorCustomersAxis__custom--ThreeCustomersMember_zkXxfoi7wjc2" title="Accounts receivable, after allowance for credit loss"><ix:nonFraction name="us-gaap:AccountsReceivableNet" contextRef="AsOf2023-06-30_us-gaap_AccountsReceivableMember_custom_ThreeCustomersMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">10,681,892</ix:nonFraction></span> (<span id="xdx_905_ecustom--StockOptionExercisePercent_pid_dp_uPure_c20230101__20230630__srt--MajorCustomersAxis__custom--ThreeCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember_znQYjkEoufnf" title="Stock option exercise percent"><ix:nonFraction name="FSI:StockOptionExercisePercent" contextRef="From2023-01-012023-06-30_custom_ThreeCustomersMember_us-gaap_AccountsReceivableMember" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">53</ix:nonFraction></span>%) of sales during the six month period ended June 30, 2023 (2022 - $<span id="xdx_90E_eus-gaap--AccountsReceivableNet_iI_c20220630__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember__srt--MajorCustomersAxis__custom--ThreeCustomersMember_zO3uhZoWjvM1" title="Accounts receivable, after allowance for credit loss"><ix:nonFraction name="us-gaap:AccountsReceivableNet" contextRef="AsOf2022-06-30_us-gaap_AccountsReceivableMember_custom_ThreeCustomersMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">11,597,726</ix:nonFraction></span> or <span id="xdx_907_ecustom--StockOptionExercisePercent_pid_dp_uPure_c20220101__20220630__srt--MajorCustomersAxis__custom--ThreeCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember_zhrgyhDUS06c" title="Stock option exercise percent"><ix:nonFraction name="FSI:StockOptionExercisePercent" contextRef="From2022-01-012022-06-30_custom_ThreeCustomersMember_us-gaap_AccountsReceivableMember" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">53</ix:nonFraction></span>%).</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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="From2023-01-01to2023-06-30" escape="true" name="FSI:ComparativeFiguresTextBlock"><p id="xdx_800_ecustom--ComparativeFiguresTextBlock_zANrL3drEPkj" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b>17.
<span id="xdx_827_zHJtXtwKdB21">COMPARATIVE FIGURES</span></b></span><b><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">.</span></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Certain
of the comparative figures have been reclassified to conform with the current period&#8217;s presentation.</span></p>

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

</ix:nonNumeric><ix:nonNumeric contextRef="From2023-01-01to2023-06-30" escape="true" name="us-gaap:SubsequentEventsTextBlock"><p id="xdx_800_eus-gaap--SubsequentEventsTextBlock_zrG2VE9C9Xo" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b>18.
<span id="xdx_823_zjxgKo0ff70f">SUBSEQUENT EVENTS</span>.</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">None.</span></p>

</ix:nonNumeric><p id="xdx_815_zbIKbEWFLLMj" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="a_009"></span>Item
2. Management&#8217;s Discussion and Analysis of Financial Condition and Results of Operations.</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 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: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company manufactures and markets biodegradable polymers which are used in the oil, gas and agriculture industries. The Company also develops,
manufactures and markets specialty chemicals that slow the evaporation of water.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 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: 0pt 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: 0pt 0; text-align: justify; text-indent: 35.45pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company has three product lines.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
first is a chemical (&#8220;EWCP&#8221;) used in swimming pools and spas. The product forms a thin, transparent layer on the water&#8217;s
surface. The transparent layer slows the evaporation of water, allowing the water to retain a higher temperature for a longer period
of time thereby reducing the energy required to maintain the desired temperature of the water. A modified version of EWCP can also be
used in reservoirs, potable water storage tanks, livestock watering pods, canals, and irrigation ditches for the purpose of reducing
evaporation.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
second product, biodegradable polymers (&#8220;TPAs&#8221;), is used by the petroleum, chemical, utility and mining industries to prevent
corrosion and scaling in water piping. TPAs can also be used to increase biodegradability in detergents and in the agriculture industry
to increase crop yields by enhancing fertilizer uptake.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
third product line is nitrogen conservation products used for the agriculture industry. These products decrease the loss of nitrogen
fertilizer after initial application and allows less fertilizer to be used. These products are made and sold by the Company&#8217;s TPA
division.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Material
changes in the Company&#8217;s Statement of Operations for the six and three months ended June 30, 2023 compared to the same period in
the prior year are discussed below:</span></p>

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


<!-- 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 -->

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="text-decoration: underline">Six
Months ended June 30, 2023</span></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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; text-align: left; font: 10pt Times New Roman, Times, Serif; width: 34%; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Item</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1.5pt; 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; text-align: center; font: 10pt Times New Roman, Times, Serif; width: 13%"><p style="margin-top: 0; margin-bottom: 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Increase (I)</span></p>
                                                                                <p style="margin-top: 0; margin-bottom: 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">or
Decrease (D)</span></p></td>
    <td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1.5pt; 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; text-align: justify; width: 49%; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Reason</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: 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; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Sales</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><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: 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; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">EWCP
    products</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><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">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: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Increased
    customer orders.</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif"><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: 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; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">TPA
    products</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><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">D</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><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">Decreased
    customer orders along with decrease in pricing.</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif"><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: 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; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Wages</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><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">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: justify"><p style="font: 10pt Times New Roman, Times, Serif; text-align: justify; margin: 0pt 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Increased
                                            wages for employee retention.</span></p>
    <p style="font: 10pt Times New Roman, Times, Serif; text-align: justify; margin: 0pt 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: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif">&#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; 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"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Administrative
                                            salaries</span></p>
    <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"></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; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">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: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Increased
wages for employee retention.</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif">&#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; 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"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Insurance</span></p>
    <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"></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; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">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: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Increase
    in assets and in sales resulted in higher insurance costs.</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif">&#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; 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"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Interest
    expense</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><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">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: justify"><p style="font: 10pt Times New Roman, Times, Serif; text-align: justify; margin: 0pt 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Increased
                                            debt resulted in increased interest expense.</span></p>
    <p style="font: 10pt Times New Roman, Times, Serif; text-align: justify; margin: 0pt 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: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif">&#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; 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"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Professional
    fees</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><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">D</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><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"><p style="font: 10pt Times New Roman, Times, Serif; text-align: justify; margin: 0pt 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Decreased
                                            due to one time costs associated with the planned merger with Lygos in 2022.</span></p>
    <p style="font: 10pt Times New Roman, Times, Serif; text-align: justify; margin: 0pt 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: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif">&#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; 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"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Travel</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><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">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: justify"><p style="font: 10pt Times New Roman, Times, Serif; text-align: justify; margin: 0pt 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Travel
                                            has resumed as COVID-19 has become an endemic.</span></p>
    <p style="font: 10pt Times New Roman, Times, Serif; text-align: justify; margin: 0pt 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"></span></p>
    <p style="font: 10pt Times New Roman, Times, Serif; text-align: justify; margin: 0pt 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: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif">&#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; 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"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Investor
    relations and transfer agent fees</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><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">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: justify"><p style="font: 10pt Times New Roman, Times, Serif; text-align: justify; margin: 0pt 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Increased
                                            due to higher stock transactions and costs associated with the dividend payment.</span></p>
    <p style="font: 10pt Times New Roman, Times, Serif; text-align: justify; margin: 0pt 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: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif">&#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; 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"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Lease
    expense</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><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">D</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><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"><p style="font: 10pt Times New Roman, Times, Serif; text-align: justify; margin: 0pt 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Purchases
                                            of ENP Mendota and ENP Peru, the businesses we were renting from, reduced our lease expense.</span></p>
    <p style="font: 10pt Times New Roman, Times, Serif; text-align: justify; margin: 0pt 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: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif">&#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; 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"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Currency
    exchange</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><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">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: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Currency
    exchange increased as a result of movements in the US / Canadian dollar exchange rate and its effects on US dollar cash balances
    and US dollar payables held by the Company&#8217;s Canadian subsidiaries. </span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="text-decoration: underline">Three
months ended June 30, 2023</span></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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; text-align: left; width: 34%; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Item</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1.5pt; 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; text-align: center; width: 13%"><p style="margin-top: 0; margin-bottom: 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Increase (I)</span></p>
                                                                                <p style="margin-top: 0; margin-bottom: 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">or
Decrease (D)</span></p></td>
    <td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1.5pt; 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; text-align: justify; width: 49%; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Reason</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: 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; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Sales</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><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: 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; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif">&#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; text-align: justify">&#160;</td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">EWCP
    products</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><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">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: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Increased
    customer orders.</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">&#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: 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; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">TPA
    products</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><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">D</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><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">Decreased
    customer orders along with decrease in pricing.</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">&#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: 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; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Wages</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><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">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: justify"><p style="font: 10pt Times New Roman, Times, Serif; text-align: justify; margin: 0pt 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Increased
                                            wages for employee retention.</span></p>
    <p style="font: 10pt Times New Roman, Times, Serif; text-align: justify; margin: 0pt 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">&#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; text-align: justify">&#160;</td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Administrative
                                            salaries</span></p>
    <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"></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; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">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: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Increased
wages for employee retention.</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">&#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; text-align: justify">&#160;</td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Insurance</span></p>
    <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"></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; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">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: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Increase
    in assets and in sales resulted in higher insurance costs.</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">&#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; text-align: justify">&#160;</td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Interest
    expense</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><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">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: justify"><p style="font: 10pt Times New Roman, Times, Serif; text-align: justify; margin: 0pt 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Increased
                                            debt resulted in increased interest expense.</span></p>
    <p style="font: 10pt Times New Roman, Times, Serif; text-align: justify; margin: 0pt 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">&#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; text-align: justify">&#160;</td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Professional
    fees</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><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">D</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><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"><p style="font: 10pt Times New Roman, Times, Serif; text-align: justify; margin: 0pt 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Decreased
                                            due to one time costs associated with the planned merger with Lygos in 2022.</span></p>
    <p style="font: 10pt Times New Roman, Times, Serif; text-align: justify; margin: 0pt 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"></span></p>
    <p style="font: 10pt Times New Roman, Times, Serif; text-align: justify; margin: 0pt 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">&#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; text-align: justify">&#160;</td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Office
    and miscellaneous</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><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">D</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><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"><p style="font: 10pt Times New Roman, Times, Serif; text-align: justify; margin: 0pt 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Decreased
                                            due to one-time charges associated with moving loans from Midland States Bank to Stock Yards
                                            Bank &amp; Trust from 2022.</span></p>
    <p style="font: 10pt Times New Roman, Times, Serif; text-align: justify; margin: 0pt 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">&#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; text-align: justify">&#160;</td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Travel</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><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">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: justify"><p style="font: 10pt Times New Roman, Times, Serif; text-align: justify; margin: 0pt 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Travel
                                            has resumed as COVID-19 has become an endemic.</span></p>
    <p style="font: 10pt Times New Roman, Times, Serif; text-align: justify; margin: 0pt 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"></span></p>
    <p style="font: 10pt Times New Roman, Times, Serif; text-align: justify; margin: 0pt 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">&#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; text-align: justify">&#160;</td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Lease
    expense</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><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">D</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><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"><p style="font: 10pt Times New Roman, Times, Serif; text-align: justify; margin: 0pt 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Purchases
                                            of ENP Mendota and ENP Peru, the businesses we were renting from, reduced our lease expense.</span></p>
    <p style="font: 10pt Times New Roman, Times, Serif; text-align: justify; margin: 0pt 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"></span></p>
    <p style="font: 10pt Times New Roman, Times, Serif; text-align: justify; margin: 0pt 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">&#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; text-align: justify">&#160;</td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Currency
    exchange</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><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">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: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Currency
    exchange increased as a result of movements in the US / Canadian dollar exchange rate and its effects on US dollar cash balances
    and US dollar payables held by the Company&#8217;s Canadian subsidiaries. </span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>


<!-- 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 -->

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Three
customers accounted for 50% of our sales during the three months ended June 30, 2023 (2022 &#8211;53%) and 53% of our sales during the
six months ended June 30, 2023 (2022 &#8211; 53%). The amount of revenue (all from the sale of TPA products) attributable to each customer
is shown below.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><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: 80%; margin-right: auto">
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td>&#160;</td>
    <td colspan="6" style="border-bottom: Black 1.5pt solid; text-align: center">Three months ended <br />June 30,</td><td>&#160;</td><td>&#160;</td>
    <td colspan="6" style="border-bottom: Black 1.5pt solid; text-align: center">Six months ended <br />June 30,</td><td>&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="border-bottom: Black 1.5pt solid; text-align: center">Customer</td><td>&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">2023</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">2022</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">2023</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">2022</td><td>&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#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><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 40%; text-align: left">Company A</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 11%; text-align: right">1,104,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 style="width: 11%; text-align: right">1,154,925</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">2,203,761</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">2,760,661</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Company B</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">3,312,866</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">3,788,498</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">5,091,764</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">5,450,698</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">Company C</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">754,346</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">788,346</td><td style="text-align: left">*</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">1,980,533</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">1,382,219</td><td style="text-align: left">*</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Company D</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">203,630</td><td style="text-align: left">*</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">428,639</td><td style="text-align: left">*</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">1,691,890</td><td style="text-align: left">*</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">3,386,367</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">Company E</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">725,347</td><td style="text-align: left">*</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">955,843</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">1,450,643</td><td style="text-align: left">*</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">1,145,467</td><td style="text-align: left">*</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">*not a primary customer in that period</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>
  </table>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Customers
with balances greater than 10% of our receivables as of June 30, 2023 and 2022 are shown below:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><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: 80%; margin-right: auto">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1.5pt solid; text-align: center">June 30,</td><td style="padding-bottom: 1.5pt">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">2023</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">2022</td><td style="padding-bottom: 1.5pt">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <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: rgb(204,238,255)">
    <td style="width: 62%; text-align: left">Company B</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 15%; text-align: right">2,851,981</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: 15%; text-align: right">2,091,753</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Company C</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">961,241</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">476,098</td><td style="text-align: left">*</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Company E</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">259,651</td><td style="text-align: left">*</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">973,712</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Company F</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">811,861</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">294,393</td><td style="text-align: left">*</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">*less than 10%</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>
  </table>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 1in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Other
factors that will most significantly affect future operating results will be:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-indent: 1in"><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: 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"><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
    sale price of crude oil which is used in the manufacture of aspartic acid we import from China. Aspartic acid is a key ingredient
    in our TPA products;</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">activity
    in the oil and gas industry, as we sell our TPA products to oil and gas 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">&#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">drought
    conditions, since we also sell our TPA products to farmers; 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">the
    impact of the COVID-19 virus.</span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 1in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 1in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Other
than the foregoing we do not know of any trends, events or uncertainties that have had, or are reasonably expected to have, a material
impact on our revenues or expenses.</span></p>

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


<!-- 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 -->

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Capital
Resources and Liquidity</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company&#8217;s sources and (uses) of cash for the six months ended June 30, 2023 and 2022 are shown below:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><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: 80%; margin-right: auto">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">2023</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">2022</td><td style="padding-bottom: 1.5pt">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <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: rgb(204,238,255)">
    <td style="width: 62%; text-align: left">Cash provided by operations</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 15%; text-align: right">7,926,775</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: 15%; text-align: right">792,536</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-controlling interest of 317 Mendota</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">200,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></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Additional investment in Trio</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(470,000</td><td style="text-align: left">)</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">Acquisition of ENP Peru</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">(499,329</td><td style="text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Proceeds of equity investment distributions</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">108,750</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Deposits on purchase of equipment</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(361,616</td><td style="text-align: left">)</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>Purchase of equipment</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(3,784,193</td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(422,067</td><td style="text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Repayments of short term line of credit</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(2,818,591</td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(1,151,165</td><td style="text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Repayments of long term debt</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(361,265</td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(1,945,865</td><td style="text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Proceeds of long term debt</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">2,248,292</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">2,194,000</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">Dividends paid</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(626,777</td><td style="text-align: left">)</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">Lease financing costs</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(29,040</td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(30,261</td><td style="text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Distributions to non-controlling interest</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(387,696</td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(382,856</td><td style="text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Proceeds from issuance of common stock</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">13,600</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">74,020</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">Changes in exchange rates</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">59,406</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">40,636</td><td style="text-align: left">&#160;</td></tr>
  </table>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company has sufficient cash resources to meets its future commitments and cash flow requirements for the coming year. As of June 30,
2023, working capital was $19,950,872 (December 31, 2022 - $20,692,527).</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">We
are committed to minimum rental payments for property and premises aggregating approximately $211,380 over the term of two leases, the
last expiring on December 31, 2025.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Commitments
for rent in the next three years are as follows:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 60%; margin-left: 0.5in">
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 80%; text-align: left">2023</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right">69,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">2024</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">70,440</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; text-align: left">2025</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">71,940</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  </table>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Other
than as disclosed above, we do not know of any trends, demands, commitments, events or uncertainties that will result in, or that are
reasonable likely to result in, our liquidity increasing or decreasing in any material way.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Other
than as disclosed above, we do not know of any significant changes in our expected sources and uses of cash.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">We
do not have any commitments or arrangements from any person to provide us with any equity capital.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="a_010"></span>Item
4. CONTROLS AND PROCEDURES</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Evaluation
of Disclosure Controls and Procedures</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Under
the direction and with the participation of our management, including our Principal Executive and Financial Officer, we conducted an
evaluation of the effectiveness of the design and operation of our disclosure controls and procedures as of June 30, 2023. We maintain
disclosure controls and procedures that are designed to ensure that information required to be disclosed in our periodic reports with
the Securities and Exchange Commission is recorded, processed, summarized and reported within the time periods specified in the SEC&#8217;s
rules and regulations, and that such information is accumulated and communicated to our management, including our principal executive
and financial officer, as appropriate, to allow timely decisions regarding required disclosure. Our disclosure controls and procedures
are designed to provide a reasonable level of assurance of reaching desired disclosure control objectives. Based on the evaluation, our
Principal Executive and Financial Officer concluded that these disclosure controls and procedures were effective as of June 30, 2023.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Changes
in Internal Control over Financial Reporting</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Our
management, with the participation of our Principal Executive and Financial Officer, evaluated whether any change in our internal control
over financial reporting occurred during the three months ended June 30, 2023. Based on that evaluation, it was concluded that there
has been no change in our internal control over financial reporting during the three months ended June 30, 2023 that materially affected,
or is reasonably likely to materially affect, our internal control over financial reporting.</span></p>

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


<!-- 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 -->

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="a_012"></span>Item
6. Exhibits.</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; 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%; 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: 1in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Number</b></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1.5pt; width: 0.1in"><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: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Description</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">3.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; text-align: justify"><a href="https://www.sec.gov/Archives/edgar/data/1069394/000149315222013777/ex3-1.htm" style="-sec-extract: exhibit">Articles
    of Continuance (Articles of Incorporation) <sup>(1)</sup></a></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.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; text-align: justify"><a href="https://www.sec.gov/Archives/edgar/data/1069394/000149315222009669/ex3-ii.htm" style="-sec-extract: exhibit">Bylaws
    <sup>(2)</sup></a></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">31.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; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><a href="ex31-1.htm">Certification of Principal Executive Officer Pursuant to &#167;302 of the Sarbanes-Oxley Act of 2002.*</a></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">31.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; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><a href="ex31-2.htm">Certification of Principal Financial Officer Pursuant to &#167;302 of the Sarbanes-Oxley Act of 2002.*</a></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">32.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; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><a href="ex32-1.htm">Certification of Principal Executive and Financial Officer Pursuant to 18 U.S.C. &#167;1350 and &#167;906 of the Sarbanes-Oxley Act of 2002.*</a></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif">&#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">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">101.INS</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><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">Inline
    XBRL Instance Document</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">101.SCH</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><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">Inline
    XBRL Taxonomy Extension Schema Document</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">101.CAL</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><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">Inline
    XBRL Taxonomy Extension Calculation Linkbase Document</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">101.DEF</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><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">Inline
    XBRL Taxonomy Extension Definition Linkbase Document</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">101.LAB</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><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">Inline
    XBRL Taxonomy Extension Label Linkbase Document</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">101.PRE</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><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">Inline
    XBRL Taxonomy Extension Presentation Linkbase Document</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">104</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><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">Cover
    Page Interactive Data File (embedded within the Inline XBRL document)</span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">*
Filed with this report.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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.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">Incorporated
    by reference the same exhibit filed with the Company&#8217;s March 31, 2022 10-Q report.</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></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"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Incorporated
    by reference to Exhibit 3(ii) filed the Company&#8217;s 8-K report dated April 10, 2022.</span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>


<!-- 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 -->

<p style="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0pt; margin-bottom: 0pt"><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: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="a_013"></span>SIGNATURES</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
accordance with the requirements of Section 13 or 15(d) of the Exchange Act, the registrant 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; 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: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">August
14, 2023</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0pt; margin-bottom: 0pt"><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"><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"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b>Flexible
    Solutions International, Inc.</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; 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: 5%"><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: 45%"><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; padding-bottom: 1.5pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1.5pt"><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"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><i>/s/
    Daniel B. O&#8217;Brien</i></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">Name:</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Daniel
    B. O&#8217;Brien</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">Title:</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">President
    and Principal Executive Officer</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; padding-bottom: 1.5pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1.5pt"><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"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><i>/s/
    Daniel B. O&#8217;Brien</i></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">Name:</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Daniel
    B. O&#8217;Brien</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">Title:</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Principal
    Financial and Accounting Officer</span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>


<!-- Field: Page; Sequence: 33; 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 -->33<!-- Field: /Sequence --></td></tr></table></div>
    <!-- Field: /Page -->

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

</body>
</html>
<!-- Field: Set; Name: xdx; ID: xdx_08B_extensions -->
<!-- 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 -->
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-31.1
<SEQUENCE>2
<FILENAME>ex31-1.htm
<TEXT>
<HTML>
<HEAD>
     <TITLE></TITLE>
</HEAD>
<BODY STYLE="font: 10pt Times New Roman, Times, Serif">

<P STYLE="margin: 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: right"><B>Exhibit 31.1</B></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: right">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><B>CERTIFICATIONS</B></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">I, Daniel O&rsquo;Brien, certify that:</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">1. I have reviewed this quarterly report on Form 10-Q
of Flexible Solutions International, Inc.;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">2. 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;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">3. 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;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">4. 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 and
15d-15(e)) and internal control over financial reporting (as defined in Exchange Act Rules 13a-15(f) and 15d-15(f)) for the registrant
and have:</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in">a) 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;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in">b) designed such internal control
over financial reporting, or cause 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;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in">c) 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</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in">d) 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 an annual report) that has materially affected, or is reasonably
likely to materially affect, the registrant&rsquo;s internal control over financial reporting; and</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">5. The registrant&rsquo;s other certifying officer(s)
and I have disclosed, based on our most recent evaluation of the 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):</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in">a) 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</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in">b) any fraud, whether or not material,
that involves management or other employees who have significant role in the registrant&rsquo;s internal control over financial reporting.</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&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: 50%; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">August 14, 2023</FONT></TD>
    <TD STYLE="border-bottom: black 1.5pt solid; width: 50%; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><I>/s/ Daniel B. O&rsquo;Brien</I></FONT></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">Daniel O&rsquo;Brien</FONT></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">Principal Executive Officer</FONT></TD></TR>
  </TABLE>
<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&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-31.2
<SEQUENCE>3
<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; margin: 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: right"><B>Exhibit 31.2</B></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: right">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><B>CERTIFICATIONS</B></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">I, Daniel O&rsquo;Brien, certify that:</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">1. I have reviewed this quarterly report on Form 10-Q
of Flexible Solutions International, Inc.;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">2. 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;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">3. 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;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">4. 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 and
15d-15(e)) and internal control over financial reporting (as defined in Exchange Act Rules 13a-15(f) and 15d-15(f)) for the registrant
and have:</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in">a) 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;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in">b) designed such internal control
over financial reporting, or cause 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;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in">c) 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</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in">d) 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 an annual report) that has materially affected, or is reasonably
likely to materially affect, the registrant&rsquo;s internal control over financial reporting; and</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">5. The registrant&rsquo;s other certifying officer(s)
and I have disclosed, based on our most recent evaluation of the 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):</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in">a) 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</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in">b) any fraud, whether or not material,
that involves management or other employees who have significant role in the registrant&rsquo;s internal control over financial reporting.</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&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: 50%; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">August 14, 2023</FONT></TD>
    <TD STYLE="border-bottom: black 1.5pt solid; width: 50%; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><I>/s/ Daniel B. O&rsquo;Brien</I></FONT></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">Daniel O&rsquo;Brien</FONT></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">Principal Financial Officer</FONT></TD></TR>
  </TABLE>
<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center">&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-32.1
<SEQUENCE>4
<FILENAME>ex32-1.htm
<TEXT>
<HTML>
<HEAD>
     <TITLE></TITLE>
</HEAD>
<BODY STYLE="font: 10pt Times New Roman, Times, Serif">

<P STYLE="margin: 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: right"><B>Exhibit 32.1</B></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><FONT STYLE="text-transform: uppercase"><B>CertificatION
of Principal Executive AND FINANCIAL Officer</B></FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><FONT STYLE="text-transform: uppercase"><B>Pursuant
to 18 U.S.C. Section 1350,</B></FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><FONT STYLE="text-transform: uppercase"><B>as Adopted
Pursuant to</B></FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><FONT STYLE="text-transform: uppercase"><B>Section
906 of the Sarbanes-Oxley Act of 2002</B></FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in">Solely for the purposes of complying
with 18 U.S.C. Section 1350, as adopted pursuant to Section 906 of the Sarbanes-Oxley Act of 2002, I, the undersigned Principal Executive
and Financial Officer of Flexible Solutions International, Inc. (the &ldquo;Company&rdquo;), hereby certify that, to the best of my knowledge,
the Quarterly Report on Form 10-Q of the Company for the quarter ended June 30, 2023 (the &ldquo;Report&rdquo;) fully complies with the
requirements of Section 13(a) or 15(d) of the Securities Exchange Act of 1934 and that the information contained in the Report fairly
presents, in all material respects, the financial condition and results of operations of the Company.</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in">&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: 50%"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">August 14, 2023 </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/ Daniel B. O&rsquo;Brien</I></FONT></TD></TR>
  <TR STYLE="vertical-align: top">
    <TD>&nbsp;</TD>
    <TD><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Daniel B. O&rsquo;Brien</FONT></TD></TR>
  <TR STYLE="vertical-align: top">
    <TD>&nbsp;</TD>
    <TD><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Principal Executive and Financial Officer</FONT></TD></TR>
  </TABLE>
<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&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-101.SCH
<SEQUENCE>5
<FILENAME>fsi-20230630.xsd
<DESCRIPTION>XBRL SCHEMA FILE
<TEXT>
<XBRL>
<?xml version="1.0" encoding="US-ASCII" ?>
    <!-- Field: Doc-Info; Name: Generator; Value: GoFiler Complete; Version: 5.19a -->
    <!-- Field: Doc-Info; Name: VendorURI; Value: https://www.novaworks.com -->
    <!-- Field: Doc-Info; Name: Status; Value: 0x00000000 -->
    <!-- Field: Doc-Info; Name: Misc; Value: 96Mps7xRiXgen8uDanwsWa+KCbP9z5Z8aekhvWB2bXk6fy8kyPjLzigA4KdmESIF -->
<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/2023" xmlns:us-gaap="http://fasb.org/us-gaap/2023" xmlns:srt="http://fasb.org/srt/2023" xmlns:srt-types="http://fasb.org/srt-types/2023" xmlns:dtr-types="http://www.xbrl.org/dtr/type/2022-03-31" xmlns:FSI="http://flexiblesolutions.com/20230630" elementFormDefault="qualified" targetNamespace="http://flexiblesolutions.com/20230630">
    <annotation>
      <appinfo>
        <link:roleType roleURI="http://flexiblesolutions.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://flexiblesolutions.com/role/InterimConsolidatedBalanceSheets" id="InterimConsolidatedBalanceSheets">
          <link:definition>00000002 - Statement - Condensed Interim 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://flexiblesolutions.com/role/InterimConsolidatedBalanceSheetsParenthetical" id="InterimConsolidatedBalanceSheetsParenthetical">
          <link:definition>00000003 - Statement - Condensed Interim 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://flexiblesolutions.com/role/InterimConsolidatedStatementsOfOperationsAndComprehensiveIncome" id="InterimConsolidatedStatementsOfOperationsAndComprehensiveIncome">
          <link:definition>00000004 - Statement - Condensed Interim Consolidated Statements of Operations and Comprehensive Income (Unaudited)</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://flexiblesolutions.com/role/InterimConsolidatedStatementsOfCashFlows" id="InterimConsolidatedStatementsOfCashFlows">
          <link:definition>00000005 - Statement - Condensed Interim Consolidated Statements of Cash Flows (Unaudited)</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://flexiblesolutions.com/role/InterimConsolidatedStatementsOfStockholdersEquity" id="InterimConsolidatedStatementsOfStockholdersEquity">
          <link:definition>00000006 - Statement - Condensed Interim Consolidated Statements of Stockholders' Equity (Unaudited)</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://flexiblesolutions.com/role/BasisOfPresentation" id="BasisOfPresentation">
          <link:definition>00000007 - Disclosure - 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://flexiblesolutions.com/role/SignificantAccountingPolicies" id="SignificantAccountingPolicies">
          <link:definition>00000008 - Disclosure - 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://flexiblesolutions.com/role/Leases." id="Leases.">
          <link:definition>00000009 - Disclosure - LEASES.</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://flexiblesolutions.com/role/AccountsReceivable." id="AccountsReceivable.">
          <link:definition>00000010 - Disclosure - ACCOUNTS RECEIVABLE.</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://flexiblesolutions.com/role/Inventories." id="Inventories.">
          <link:definition>00000011 - Disclosure - INVENTORIES.</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://flexiblesolutions.com/role/PropertyEquipmentLeaseholds." id="PropertyEquipmentLeaseholds.">
          <link:definition>00000012 - Disclosure - PROPERTY, EQUIPMENT &amp; LEASEHOLDS.</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://flexiblesolutions.com/role/Patents." id="Patents.">
          <link:definition>00000013 - Disclosure - PATENTS.</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://flexiblesolutions.com/role/GoodwillAndIndefiniteLivedIntangibleAssets." id="GoodwillAndIndefiniteLivedIntangibleAssets.">
          <link:definition>00000014 - Disclosure - GOODWILL AND INDEFINITE LIVED 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://flexiblesolutions.com/role/LongTermDeposits." id="LongTermDeposits.">
          <link:definition>00000015 - Disclosure - LONG TERM DEPOSITS.</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://flexiblesolutions.com/role/Investments." id="Investments.">
          <link:definition>00000016 - Disclosure - INVESTMENTS.</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://flexiblesolutions.com/role/Short-termLineOfCredit." id="Short-termLineOfCredit.">
          <link:definition>00000017 - Disclosure - SHORT-TERM LINE OF CREDIT.</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://flexiblesolutions.com/role/LongTermDebt." id="LongTermDebt.">
          <link:definition>00000018 - Disclosure - LONG TERM DEBT.</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://flexiblesolutions.com/role/StockOptions." id="StockOptions.">
          <link:definition>00000019 - Disclosure - STOCK OPTIONS.</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://flexiblesolutions.com/role/CapitalStock" id="CapitalStock">
          <link:definition>00000020 - Disclosure - CAPITAL STOCK</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://flexiblesolutions.com/role/Non-controllingInterests" id="Non-controllingInterests">
          <link:definition>00000021 - Disclosure - NON-CONTROLLING INTERESTS</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://flexiblesolutions.com/role/SegmentedSignificantCustomerInformationAndEconomicDependency" id="SegmentedSignificantCustomerInformationAndEconomicDependency">
          <link:definition>00000022 - Disclosure - SEGMENTED, SIGNIFICANT CUSTOMER INFORMATION AND ECONOMIC DEPENDENCY</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://flexiblesolutions.com/role/ComparativeFigures" id="ComparativeFigures">
          <link:definition>00000023 - Disclosure - COMPARATIVE FIGURES</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://flexiblesolutions.com/role/SubsequentEvents" id="SubsequentEvents">
          <link:definition>00000024 - 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://flexiblesolutions.com/role/SignificantAccountingPoliciesPolicies" id="SignificantAccountingPoliciesPolicies">
          <link:definition>00000025 - Disclosure - 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://flexiblesolutions.com/role/SignificantAccountingPoliciesTables" id="SignificantAccountingPoliciesTables">
          <link:definition>00000026 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES (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://flexiblesolutions.com/role/Leases.Tables" id="Leases.Tables">
          <link:definition>00000027 - Disclosure - LEASES. (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://flexiblesolutions.com/role/AccountsReceivable.Tables" id="AccountsReceivable.Tables">
          <link:definition>00000028 - Disclosure - ACCOUNTS RECEIVABLE. (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://flexiblesolutions.com/role/Inventories.Tables" id="Inventories.Tables">
          <link:definition>00000029 - Disclosure - INVENTORIES. (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://flexiblesolutions.com/role/PropertyEquipmentLeaseholds.Tables" id="PropertyEquipmentLeaseholds.Tables">
          <link:definition>00000030 - Disclosure - PROPERTY, EQUIPMENT &amp; LEASEHOLDS. (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://flexiblesolutions.com/role/Patents.Tables" id="Patents.Tables">
          <link:definition>00000031 - Disclosure - PATENTS. (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://flexiblesolutions.com/role/GoodwillAndIndefiniteLivedIntangibleAssets.Tables" id="GoodwillAndIndefiniteLivedIntangibleAssets.Tables">
          <link:definition>00000032 - Disclosure - GOODWILL AND INDEFINITE LIVED 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://flexiblesolutions.com/role/LongTermDeposits.Tables" id="LongTermDeposits.Tables">
          <link:definition>00000033 - Disclosure - LONG TERM DEPOSITS. (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://flexiblesolutions.com/role/Investments.Tables" id="Investments.Tables">
          <link:definition>00000034 - Disclosure - INVESTMENTS. (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://flexiblesolutions.com/role/LongTermDebt.Tables" id="LongTermDebt.Tables">
          <link:definition>00000035 - Disclosure - LONG TERM DEBT. (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://flexiblesolutions.com/role/StockOptions.Tables" id="StockOptions.Tables">
          <link:definition>00000036 - Disclosure - STOCK OPTIONS. (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://flexiblesolutions.com/role/Non-controllingInterestsTables" id="Non-controllingInterestsTables">
          <link:definition>00000037 - Disclosure - NON-CONTROLLING INTERESTS (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://flexiblesolutions.com/role/SegmentedSignificantCustomerInformationAndEconomicDependencyTables" id="SegmentedSignificantCustomerInformationAndEconomicDependencyTables">
          <link:definition>00000038 - Disclosure - SEGMENTED, SIGNIFICANT CUSTOMER INFORMATION AND ECONOMIC DEPENDENCY (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://flexiblesolutions.com/role/BasisOfPresentationDetailsNarrative" id="BasisOfPresentationDetailsNarrative">
          <link:definition>00000039 - Disclosure - BASIS OF PRESENTATION (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://flexiblesolutions.com/role/ScheduleOfMethodOfDepreciationDetails" id="ScheduleOfMethodOfDepreciationDetails">
          <link:definition>00000040 - Disclosure - SCHEDULE OF METHOD OF DEPRECIATION (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://flexiblesolutions.com/role/SignificantAccountingPoliciesDetailsNarrative" id="SignificantAccountingPoliciesDetailsNarrative">
          <link:definition>00000041 - Disclosure - 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://flexiblesolutions.com/role/SummaryOfRight-of-useAssetAndLeaseLiabilityDetails" id="SummaryOfRight-of-useAssetAndLeaseLiabilityDetails">
          <link:definition>00000042 - Disclosure - SUMMARY OF RIGHT-OF-USE ASSET AND LEASE LIABILITY (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://flexiblesolutions.com/role/ScheduleOfUndiscountedRentPaymentsDetails" id="ScheduleOfUndiscountedRentPaymentsDetails">
          <link:definition>00000043 - Disclosure - SCHEDULE OF UNDISCOUNTED RENT 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://flexiblesolutions.com/role/Leases.DetailsNarrative" id="Leases.DetailsNarrative">
          <link:definition>00000044 - Disclosure - LEASES. (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://flexiblesolutions.com/role/ScheduleOfAccountsReceivableDetails" id="ScheduleOfAccountsReceivableDetails">
          <link:definition>00000045 - Disclosure - SCHEDULE OF ACCOUNTS RECEIVABLE (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://flexiblesolutions.com/role/ScheduleOfInventoryDetails" id="ScheduleOfInventoryDetails">
          <link:definition>00000046 - Disclosure - SCHEDULE OF INVENTORY (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://flexiblesolutions.com/role/ScheduleOfPropertyEquipmentAndLeaseholdsDetails" id="ScheduleOfPropertyEquipmentAndLeaseholdsDetails">
          <link:definition>00000047 - Disclosure - SCHEDULE OF PROPERTY, EQUIPMENT AND LEASEHOLDS (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://flexiblesolutions.com/role/PropertyEquipmentLeaseholds.DetailsNarrative" id="PropertyEquipmentLeaseholds.DetailsNarrative">
          <link:definition>00000048 - Disclosure - PROPERTY, EQUIPMENT &amp; LEASEHOLDS. (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://flexiblesolutions.com/role/ScheduleOfPatentsDetails" id="ScheduleOfPatentsDetails">
          <link:definition>00000049 - Disclosure - SCHEDULE OF PATENTS (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://flexiblesolutions.com/role/ScheduleOfGoodwillAndIndefiniteLivedIntangibleAssetsDetails" id="ScheduleOfGoodwillAndIndefiniteLivedIntangibleAssetsDetails">
          <link:definition>00000050 - Disclosure - SCHEDULE OF GOODWILL AND INDEFINITE LIVED 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://flexiblesolutions.com/role/ScheduleOfEstimatedFutureAmortizationExpenseDetails" id="ScheduleOfEstimatedFutureAmortizationExpenseDetails">
          <link:definition>00000051 - Disclosure - SCHEDULE OF ESTIMATED 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://flexiblesolutions.com/role/Patents.DetailsNarrative" id="Patents.DetailsNarrative">
          <link:definition>00000052 - Disclosure - PATENTS. (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://flexiblesolutions.com/role/ScheduleOfLongTermDepositsDetails" id="ScheduleOfLongTermDepositsDetails">
          <link:definition>00000053 - Disclosure - SCHEDULE OF LONG TERM DEPOSITS (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://flexiblesolutions.com/role/ScheduleOfFairValuesOfAssetsAcquiredAndLiabilitiesAssumedDetails" id="ScheduleOfFairValuesOfAssetsAcquiredAndLiabilitiesAssumedDetails">
          <link:definition>00000054 - Disclosure - SCHEDULE OF FAIR VALUES OF THE ASSETS ACQUIRED 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://flexiblesolutions.com/role/ScheduleOfEquityMethodInvestmentDetails" id="ScheduleOfEquityMethodInvestmentDetails">
          <link:definition>00000055 - Disclosure - SCHEDULE OF EQUITY METHOD INVESTMENT (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://flexiblesolutions.com/role/SummaryOfProfitAndLossInformationRelatedToEquityAccountedInvestmentDetails" id="SummaryOfProfitAndLossInformationRelatedToEquityAccountedInvestmentDetails">
          <link:definition>00000056 - Disclosure - SUMMARY OF PROFIT AND LOSS INFORMATION RELATED TO EQUITY ACCOUNTED INVESTMENT (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://flexiblesolutions.com/role/Investments.DetailsNarrative" id="Investments.DetailsNarrative">
          <link:definition>00000057 - Disclosure - INVESTMENTS. (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://flexiblesolutions.com/role/Short-termLineOfCredit.DetailsNarrative" id="Short-termLineOfCredit.DetailsNarrative">
          <link:definition>00000058 - Disclosure - SHORT-TERM LINE OF CREDIT. (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://flexiblesolutions.com/role/ScheduleOfLoanCovenantsDetails" id="ScheduleOfLoanCovenantsDetails">
          <link:definition>00000059 - Disclosure - SCHEDULE OF LOAN COVENANTS (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://flexiblesolutions.com/role/ScheduleOfOutstandingBalanceLoanDetails" id="ScheduleOfOutstandingBalanceLoanDetails">
          <link:definition>00000060 - Disclosure - SCHEDULE OF OUTSTANDING BALANCE LOAN (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://flexiblesolutions.com/role/LongTermDebt.DetailsNarrative" id="LongTermDebt.DetailsNarrative">
          <link:definition>00000061 - Disclosure - LONG TERM DEBT. (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://flexiblesolutions.com/role/ScheduleOfStockOptionActivitiesDetails" id="ScheduleOfStockOptionActivitiesDetails">
          <link:definition>00000062 - Disclosure - SCHEDULE OF STOCK OPTION ACTIVITIES (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://flexiblesolutions.com/role/ScheduleOfStockOptionFairValueAssumptionsDetails" id="ScheduleOfStockOptionFairValueAssumptionsDetails">
          <link:definition>00000063 - Disclosure - SCHEDULE OF STOCK OPTION FAIR VALUE 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://flexiblesolutions.com/role/StockOptions.DetailsNarrative" id="StockOptions.DetailsNarrative">
          <link:definition>00000064 - Disclosure - STOCK OPTIONS. (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://flexiblesolutions.com/role/CapitalStockDetailsNarrative" id="CapitalStockDetailsNarrative">
          <link:definition>00000065 - Disclosure - CAPITAL STOCK (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://flexiblesolutions.com/role/ScheduleOfDistributionsDetails" id="ScheduleOfDistributionsDetails">
          <link:definition>00000066 - Disclosure - SCHEDULE OF DISTRIBUTIONS (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://flexiblesolutions.com/role/ScheduleOfNonControllingInterestRelatedToAcquisitionDetails" id="ScheduleOfNonControllingInterestRelatedToAcquisitionDetails">
          <link:definition>00000067 - Disclosure - SCHEDULE OF NON CONTROLLING INTEREST RELATED TO ACQUISITION (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://flexiblesolutions.com/role/Non-controllingInterestsDetailsNarrative" id="Non-controllingInterestsDetailsNarrative">
          <link:definition>00000068 - Disclosure - NON-CONTROLLING INTERESTS (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://flexiblesolutions.com/role/ScheduleOfReportableSegmentsDetails" id="ScheduleOfReportableSegmentsDetails">
          <link:definition>00000069 - Disclosure - SCHEDULE OF REPORTABLE SEGMENTS (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://flexiblesolutions.com/role/ScheduleOfRevenueGeneratedInUnitedStatesAndCanadaDetails" id="ScheduleOfRevenueGeneratedInUnitedStatesAndCanadaDetails">
          <link:definition>00000070 - Disclosure - SCHEDULE OF REVENUE GENERATED IN UNITED STATES AND CANADA (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://flexiblesolutions.com/role/ScheduleOfLong-livedAssetsAreLocatedInCanadaAndUnitedStatesDetails" id="ScheduleOfLong-livedAssetsAreLocatedInCanadaAndUnitedStatesDetails">
          <link:definition>00000071 - Disclosure - SCHEDULE OF LONG-LIVED ASSETS ARE LOCATED IN CANADA AND UNITED STATES (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://flexiblesolutions.com/role/SegmentedSignificantCustomerInformationAndEconomicDependencyDetailsNarrative" id="SegmentedSignificantCustomerInformationAndEconomicDependencyDetailsNarrative">
          <link:definition>00000072 - Disclosure - SEGMENTED, SIGNIFICANT CUSTOMER INFORMATION AND ECONOMIC DEPENDENCY (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="fsi-20230630_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="fsi-20230630_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="fsi-20230630_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="fsi-20230630_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.sec.gov/dei/2023" schemaLocation="https://xbrl.sec.gov/dei/2023/dei-2023.xsd" />
    <import namespace="http://fasb.org/us-gaap/2023" schemaLocation="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd" />
    <import namespace="http://fasb.org/us-types/2023" schemaLocation="https://xbrl.fasb.org/us-gaap/2023/elts/us-types-2023.xsd" />
    <import namespace="http://www.xbrl.org/dtr/type/2022-03-31" schemaLocation="https://www.xbrl.org/dtr/type/2022-03-31/types.xsd" />
    <import namespace="http://xbrl.sec.gov/country/2023" schemaLocation="https://xbrl.sec.gov/country/2023/country-2023.xsd" />
    <import namespace="http://fasb.org/srt/2023" schemaLocation="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd" />
    <import namespace="http://fasb.org/srt-types/2023" schemaLocation="https://xbrl.fasb.org/srt/2023/elts/srt-types-2023.xsd" />
    <element id="FSI_CapitalInExcessOfParValueMember" name="CapitalInExcessOfParValueMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_EnpPeruInvestmentsLlcMember" name="EnpPeruInvestmentsLlcMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_ENPInvestmentsLLCAndENPMendotaMember" name="ENPInvestmentsLLCAndENPMendotaMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_ENPPeruMember" name="ENPPeruMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_UnrelatedPartyMember" name="UnrelatedPartyMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_MendotaLLCMember" name="MendotaLLCMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_ThreePrimaryCustomersMember" name="ThreePrimaryCustomersMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_InvestmentMember" name="InvestmentMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_BoatMember" name="BoatMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_TrailerMember" name="TrailerMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_SoftwareMember" name="SoftwareMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_EnPInvestmentsCorporationLLCMember" name="EnPInvestmentsCorporationLLCMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_NanoChemMember" name="NanoChemMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_ENPInvestmentsLLCMember" name="ENPInvestmentsLLCMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_EnpnvestmentsLlcMember" name="EnpnvestmentsLlcMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_AppliedHoldingCorpMember" name="AppliedHoldingCorpMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_TrioOpportunityCorpMember" name="TrioOpportunityCorpMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_FloridaBasedLLCMember" name="FloridaBasedLLCMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_LygosIncMember" name="LygosIncMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_StockYardAndBankMember" name="StockYardAndBankMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_MidlandStatesBankMember" name="MidlandStatesBankMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_NewAgreementMember" name="NewAgreementMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_NanoChemSolutionIncMember" name="NanoChemSolutionIncMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_StockBankMember" name="StockBankMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_TermLoanMember" name="TermLoanMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_MidlandBankMember" name="MidlandBankMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_NanoChemSolutionsIncMember" name="NanoChemSolutionsIncMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_ENPMendotaMember" name="ENPMendotaMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_StockYardsBankTrustMember" name="StockYardsBankTrustMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_EnpRealtyLLCMember" name="EnpRealtyLLCMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_ENPPeruOneMember" name="ENPPeruOneMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_ENPPeruInvestmentsMember" name="ENPPeruInvestmentsMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_MendotaMember" name="MendotaMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_MidlandStatesBankOneMember" name="MidlandStatesBankOneMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_StockYardsBankTrustOneMember" name="StockYardsBankTrustOneMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_StockYardsBankTrustTwoMember" name="StockYardsBankTrustTwoMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_StockYardsBankTrustThreeMember" name="StockYardsBankTrustThreeMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_StockYardsBankTrustFourMember" name="StockYardsBankTrustFourMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_StockYardsBankTrustFiveMember" name="StockYardsBankTrustFiveMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_ConsultantsMember" name="ConsultantsMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_EmployeesMember" name="EmployeesMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_ConsultantMember" name="ConsultantMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_EmployeeMember" name="EmployeeMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_OwnershipInterestPurchaseAgreementMember" name="OwnershipInterestPurchaseAgreementMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_ThreeCustomersMember" name="ThreeCustomersMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_EWCPMember" name="EWCPMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_SegmentMember" name="SegmentMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_TPAMember" name="TPAMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_UnitedStatesandAbroadMember" name="UnitedStatesandAbroadMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_Consulting" name="Consulting" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_InvestorRelationsAndTransferAgentFee" name="InvestorRelationsAndTransferAgentFee" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_ShippingCost" name="ShippingCost" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_Commissions" name="Commissions" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_GainOnAcquisitionOfSubsidiaries" name="GainOnAcquisitionOfSubsidiaries" nillable="true" xbrli:periodType="duration" xbrli:balance="credit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_LeaseRightOfUseFinancing" name="LeaseRightOfUseFinancing" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_ProceedsFromNoncontrollingInterest" name="ProceedsFromNoncontrollingInterest" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_DepositsOnPurchasesOfEquipment" name="DepositsOnPurchasesOfEquipment" nillable="true" xbrli:periodType="duration" xbrli:balance="credit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_InventoryAdditionsInAccountsPayable" name="InventoryAdditionsInAccountsPayable" nillable="true" xbrli:periodType="duration" xbrli:balance="credit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_DisclosureLeases.Abstract" name="DisclosureLeases.Abstract" abstract="true" nillable="true" xbrli:periodType="duration" type="xbrli:stringItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_DisclosureLongTermDeposits.Abstract" name="DisclosureLongTermDeposits.Abstract" abstract="true" nillable="true" xbrli:periodType="duration" type="xbrli:stringItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_LongTermDepositsTextBlock" name="LongTermDepositsTextBlock" nillable="true" xbrli:periodType="duration" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_DisclosureComparativeFiguresAbstract" name="DisclosureComparativeFiguresAbstract" abstract="true" nillable="true" xbrli:periodType="duration" type="xbrli:stringItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_ComparativeFiguresTextBlock" name="ComparativeFiguresTextBlock" nillable="true" xbrli:periodType="duration" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_TermDepositsPolicyTextBlock" name="TermDepositsPolicyTextBlock" nillable="true" xbrli:periodType="duration" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_StockIssuedInExchangeForServicesPolicyTextBlock" name="StockIssuedInExchangeForServicesPolicyTextBlock" nillable="true" xbrli:periodType="duration" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_ScheduleOfMethodOfDepreciationTableTextBlock" name="ScheduleOfMethodOfDepreciationTableTextBlock" nillable="true" xbrli:periodType="duration" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_SummaryOfRightofuseAssetAndLeaseLiabilityTableTextBlock" name="SummaryOfRightofuseAssetAndLeaseLiabilityTableTextBlock" nillable="true" xbrli:periodType="duration" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_ScheduleOfLongTermDepositsTableTextBlock" name="ScheduleOfLongTermDepositsTableTextBlock" nillable="true" xbrli:periodType="duration" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_ScheduleOfLoanCovenantsTableTextBlock" name="ScheduleOfLoanCovenantsTableTextBlock" nillable="true" xbrli:periodType="duration" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_ScheduleOfDistributionsTableTextBlock" name="ScheduleOfDistributionsTableTextBlock" nillable="true" xbrli:periodType="duration" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_ScheduleOfNonControllingInterestRelatedToAcquisitionTableTextBlock" name="ScheduleOfNonControllingInterestRelatedToAcquisitionTableTextBlock" nillable="true" xbrli:periodType="duration" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_IncreaseDecreaseInSharePercentage" name="IncreaseDecreaseInSharePercentage" nillable="true" xbrli:periodType="duration" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_RemainingInvestmentOwnedPercentage" name="RemainingInvestmentOwnedPercentage" nillable="true" xbrli:periodType="duration" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_DepreciationMethodUsedAndAnnualRate" name="DepreciationMethodUsedAndAnnualRate" nillable="true" xbrli:periodType="duration" type="xbrli:stringItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_OtherTermDeposit" name="OtherTermDeposit" nillable="true" xbrli:periodType="instant" xbrli:balance="credit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_ConcentrationRiskThresholdPercentage" name="ConcentrationRiskThresholdPercentage" nillable="true" xbrli:periodType="duration" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_LeaseInterestExpense" name="LeaseInterestExpense" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLongTermDebt" name="BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLongTermDebt" nillable="true" xbrli:periodType="instant" xbrli:balance="debit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLessPurchasePrice" name="BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLessPurchasePrice" nillable="true" xbrli:periodType="instant" xbrli:balance="debit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_InvestmentEliminatedUponConsolidation" name="InvestmentEliminatedUponConsolidation" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_GainOnAcquisitionOfSubsidiary" name="GainOnAcquisitionOfSubsidiary" nillable="true" xbrli:periodType="duration" xbrli:balance="credit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_EquityMethodInvestmentReturnOfEquity" name="EquityMethodInvestmentReturnOfEquity" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_RealizedInvestmentGainsLossesNet" name="RealizedInvestmentGainsLossesNet" nillable="true" xbrli:periodType="duration" xbrli:balance="credit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_AdditionalEquityMethodInvestmentOwnershipPercentage" name="AdditionalEquityMethodInvestmentOwnershipPercentage" nillable="true" xbrli:periodType="instant" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_RemainningShareOutstanding" name="RemainningShareOutstanding" nillable="true" xbrli:periodType="duration" xbrli:balance="credit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_PercentageOfForeignAccountsReceivableOfInventory" name="PercentageOfForeignAccountsReceivableOfInventory" nillable="true" xbrli:periodType="duration" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_LoanGuaranteedRate" name="LoanGuaranteedRate" nillable="true" xbrli:periodType="instant" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_EligiblePercentageOfDomesticAccountsReceivable" name="EligiblePercentageOfDomesticAccountsReceivable" nillable="true" xbrli:periodType="duration" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_ProceedsFromLoanAcquiredFromAcquisition" name="ProceedsFromLoanAcquiredFromAcquisition" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice" name="SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice" nillable="true" xbrli:periodType="instant" type="dtr-types:perShareItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeGrantedOptionsExercisePrice" name="SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeGrantedOptionsExercisePrice" nillable="true" xbrli:periodType="duration" type="dtr-types:perShareItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice" name="SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice" nillable="true" xbrli:periodType="duration" type="dtr-types:perShareItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExcercisedOptionsExercisePrice" name="SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExcercisedOptionsExercisePrice" nillable="true" xbrli:periodType="duration" type="dtr-types:perShareItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingExercisableOptionsExercisePrice" name="SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingExercisableOptionsExercisePrice" nillable="true" xbrli:periodType="instant" type="dtr-types:perShareItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_AdditionalExpensesDueToOptionsGranted" name="AdditionalExpensesDueToOptionsGranted" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_SegmentAssets" name="SegmentAssets" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_StockOptionExercisePercent" name="StockOptionExercisePercent" nillable="true" xbrli:periodType="duration" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_PaycheckProtectionProgramLoanForgiveness" name="PaycheckProtectionProgramLoanForgiveness" nillable="true" xbrli:periodType="duration" xbrli:balance="credit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_PaymentToAdditionalInvestment" name="PaymentToAdditionalInvestment" nillable="true" xbrli:periodType="duration" xbrli:balance="credit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
</schema>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.CAL
<SEQUENCE>6
<FILENAME>fsi-20230630_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.19a -->
    <!-- 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://flexiblesolutions.com/role/Cover" xlink:href="fsi-20230630.xsd#Cover" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/InterimConsolidatedBalanceSheets" xlink:href="fsi-20230630.xsd#InterimConsolidatedBalanceSheets" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/InterimConsolidatedBalanceSheetsParenthetical" xlink:href="fsi-20230630.xsd#InterimConsolidatedBalanceSheetsParenthetical" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfOperationsAndComprehensiveIncome" xlink:href="fsi-20230630.xsd#InterimConsolidatedStatementsOfOperationsAndComprehensiveIncome" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfCashFlows" xlink:href="fsi-20230630.xsd#InterimConsolidatedStatementsOfCashFlows" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfStockholdersEquity" xlink:href="fsi-20230630.xsd#InterimConsolidatedStatementsOfStockholdersEquity" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/BasisOfPresentation" xlink:href="fsi-20230630.xsd#BasisOfPresentation" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/SignificantAccountingPolicies" xlink:href="fsi-20230630.xsd#SignificantAccountingPolicies" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/Leases." xlink:href="fsi-20230630.xsd#Leases." xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/AccountsReceivable." xlink:href="fsi-20230630.xsd#AccountsReceivable." xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/Inventories." xlink:href="fsi-20230630.xsd#Inventories." xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/PropertyEquipmentLeaseholds." xlink:href="fsi-20230630.xsd#PropertyEquipmentLeaseholds." xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/Patents." xlink:href="fsi-20230630.xsd#Patents." xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/GoodwillAndIndefiniteLivedIntangibleAssets." xlink:href="fsi-20230630.xsd#GoodwillAndIndefiniteLivedIntangibleAssets." xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/LongTermDeposits." xlink:href="fsi-20230630.xsd#LongTermDeposits." xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/Investments." xlink:href="fsi-20230630.xsd#Investments." xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/Short-termLineOfCredit." xlink:href="fsi-20230630.xsd#Short-termLineOfCredit." xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/LongTermDebt." xlink:href="fsi-20230630.xsd#LongTermDebt." xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/StockOptions." xlink:href="fsi-20230630.xsd#StockOptions." xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/CapitalStock" xlink:href="fsi-20230630.xsd#CapitalStock" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/Non-controllingInterests" xlink:href="fsi-20230630.xsd#Non-controllingInterests" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/SegmentedSignificantCustomerInformationAndEconomicDependency" xlink:href="fsi-20230630.xsd#SegmentedSignificantCustomerInformationAndEconomicDependency" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ComparativeFigures" xlink:href="fsi-20230630.xsd#ComparativeFigures" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/SubsequentEvents" xlink:href="fsi-20230630.xsd#SubsequentEvents" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/SignificantAccountingPoliciesPolicies" xlink:href="fsi-20230630.xsd#SignificantAccountingPoliciesPolicies" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/SignificantAccountingPoliciesTables" xlink:href="fsi-20230630.xsd#SignificantAccountingPoliciesTables" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/Leases.Tables" xlink:href="fsi-20230630.xsd#Leases.Tables" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/AccountsReceivable.Tables" xlink:href="fsi-20230630.xsd#AccountsReceivable.Tables" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/Inventories.Tables" xlink:href="fsi-20230630.xsd#Inventories.Tables" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/PropertyEquipmentLeaseholds.Tables" xlink:href="fsi-20230630.xsd#PropertyEquipmentLeaseholds.Tables" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/Patents.Tables" xlink:href="fsi-20230630.xsd#Patents.Tables" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/GoodwillAndIndefiniteLivedIntangibleAssets.Tables" xlink:href="fsi-20230630.xsd#GoodwillAndIndefiniteLivedIntangibleAssets.Tables" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/LongTermDeposits.Tables" xlink:href="fsi-20230630.xsd#LongTermDeposits.Tables" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/Investments.Tables" xlink:href="fsi-20230630.xsd#Investments.Tables" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/LongTermDebt.Tables" xlink:href="fsi-20230630.xsd#LongTermDebt.Tables" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/StockOptions.Tables" xlink:href="fsi-20230630.xsd#StockOptions.Tables" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/Non-controllingInterestsTables" xlink:href="fsi-20230630.xsd#Non-controllingInterestsTables" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/SegmentedSignificantCustomerInformationAndEconomicDependencyTables" xlink:href="fsi-20230630.xsd#SegmentedSignificantCustomerInformationAndEconomicDependencyTables" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/BasisOfPresentationDetailsNarrative" xlink:href="fsi-20230630.xsd#BasisOfPresentationDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfMethodOfDepreciationDetails" xlink:href="fsi-20230630.xsd#ScheduleOfMethodOfDepreciationDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/SignificantAccountingPoliciesDetailsNarrative" xlink:href="fsi-20230630.xsd#SignificantAccountingPoliciesDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/SummaryOfRight-of-useAssetAndLeaseLiabilityDetails" xlink:href="fsi-20230630.xsd#SummaryOfRight-of-useAssetAndLeaseLiabilityDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfUndiscountedRentPaymentsDetails" xlink:href="fsi-20230630.xsd#ScheduleOfUndiscountedRentPaymentsDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/Leases.DetailsNarrative" xlink:href="fsi-20230630.xsd#Leases.DetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfAccountsReceivableDetails" xlink:href="fsi-20230630.xsd#ScheduleOfAccountsReceivableDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfInventoryDetails" xlink:href="fsi-20230630.xsd#ScheduleOfInventoryDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfPropertyEquipmentAndLeaseholdsDetails" xlink:href="fsi-20230630.xsd#ScheduleOfPropertyEquipmentAndLeaseholdsDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/PropertyEquipmentLeaseholds.DetailsNarrative" xlink:href="fsi-20230630.xsd#PropertyEquipmentLeaseholds.DetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfPatentsDetails" xlink:href="fsi-20230630.xsd#ScheduleOfPatentsDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfGoodwillAndIndefiniteLivedIntangibleAssetsDetails" xlink:href="fsi-20230630.xsd#ScheduleOfGoodwillAndIndefiniteLivedIntangibleAssetsDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfEstimatedFutureAmortizationExpenseDetails" xlink:href="fsi-20230630.xsd#ScheduleOfEstimatedFutureAmortizationExpenseDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/Patents.DetailsNarrative" xlink:href="fsi-20230630.xsd#Patents.DetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfLongTermDepositsDetails" xlink:href="fsi-20230630.xsd#ScheduleOfLongTermDepositsDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfFairValuesOfAssetsAcquiredAndLiabilitiesAssumedDetails" xlink:href="fsi-20230630.xsd#ScheduleOfFairValuesOfAssetsAcquiredAndLiabilitiesAssumedDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfEquityMethodInvestmentDetails" xlink:href="fsi-20230630.xsd#ScheduleOfEquityMethodInvestmentDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/SummaryOfProfitAndLossInformationRelatedToEquityAccountedInvestmentDetails" xlink:href="fsi-20230630.xsd#SummaryOfProfitAndLossInformationRelatedToEquityAccountedInvestmentDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/Investments.DetailsNarrative" xlink:href="fsi-20230630.xsd#Investments.DetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/Short-termLineOfCredit.DetailsNarrative" xlink:href="fsi-20230630.xsd#Short-termLineOfCredit.DetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfLoanCovenantsDetails" xlink:href="fsi-20230630.xsd#ScheduleOfLoanCovenantsDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfOutstandingBalanceLoanDetails" xlink:href="fsi-20230630.xsd#ScheduleOfOutstandingBalanceLoanDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/LongTermDebt.DetailsNarrative" xlink:href="fsi-20230630.xsd#LongTermDebt.DetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfStockOptionActivitiesDetails" xlink:href="fsi-20230630.xsd#ScheduleOfStockOptionActivitiesDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfStockOptionFairValueAssumptionsDetails" xlink:href="fsi-20230630.xsd#ScheduleOfStockOptionFairValueAssumptionsDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/StockOptions.DetailsNarrative" xlink:href="fsi-20230630.xsd#StockOptions.DetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/CapitalStockDetailsNarrative" xlink:href="fsi-20230630.xsd#CapitalStockDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfDistributionsDetails" xlink:href="fsi-20230630.xsd#ScheduleOfDistributionsDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfNonControllingInterestRelatedToAcquisitionDetails" xlink:href="fsi-20230630.xsd#ScheduleOfNonControllingInterestRelatedToAcquisitionDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/Non-controllingInterestsDetailsNarrative" xlink:href="fsi-20230630.xsd#Non-controllingInterestsDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfReportableSegmentsDetails" xlink:href="fsi-20230630.xsd#ScheduleOfReportableSegmentsDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfRevenueGeneratedInUnitedStatesAndCanadaDetails" xlink:href="fsi-20230630.xsd#ScheduleOfRevenueGeneratedInUnitedStatesAndCanadaDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfLong-livedAssetsAreLocatedInCanadaAndUnitedStatesDetails" xlink:href="fsi-20230630.xsd#ScheduleOfLong-livedAssetsAreLocatedInCanadaAndUnitedStatesDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/SegmentedSignificantCustomerInformationAndEconomicDependencyDetailsNarrative" xlink:href="fsi-20230630.xsd#SegmentedSignificantCustomerInformationAndEconomicDependencyDetailsNarrative" xlink:type="simple" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/Cover" xlink:title="00000001 - Document - Cover" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/InterimConsolidatedBalanceSheets" xlink:title="00000002 - Statement - Condensed Interim Consolidated Balance Sheets">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsCurrent" xlink:label="loc_us-gaapAssetsCurrent" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_DepositsAssetsCurrent" xlink:label="loc_us-gaapDepositsAssetsCurrent" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapAssetsCurrent" xlink:to="loc_us-gaapDepositsAssetsCurrent" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseRightOfUseAsset" xlink:label="loc_us-gaapOperatingLeaseRightOfUseAsset" />
      <link:calculationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapAssets" xlink:to="loc_us-gaapOperatingLeaseRightOfUseAsset" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_DepositsAssetsNoncurrent" xlink:label="loc_us-gaapDepositsAssetsNoncurrent" />
      <link:calculationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapAssets" xlink:to="loc_us-gaapDepositsAssetsNoncurrent" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityMethodInvestments" xlink:label="loc_us-gaapEquityMethodInvestments" />
      <link:calculationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapAssets" xlink:to="loc_us-gaapEquityMethodInvestments" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Goodwill" xlink:label="loc_us-gaapGoodwill" />
      <link:calculationArc order="7" 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/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredIncomeTaxAssetsNet" xlink:label="loc_us-gaapDeferredIncomeTaxAssetsNet" />
      <link:calculationArc order="8" 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/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesCurrent" xlink:label="loc_us-gaapLiabilitiesCurrent" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredRevenueCurrent" xlink:label="loc_us-gaapDeferredRevenueCurrent" />
      <link:calculationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapLiabilitiesCurrent" xlink:to="loc_us-gaapDeferredRevenueCurrent" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TaxesPayableCurrent" xlink:label="loc_us-gaapTaxesPayableCurrent" />
      <link:calculationArc order="4" 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/2023/elts/us-gaap-2023.xsd#us-gaap_LinesOfCreditCurrent" xlink:label="loc_us-gaapLinesOfCreditCurrent" />
      <link:calculationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapLiabilitiesCurrent" xlink:to="loc_us-gaapLinesOfCreditCurrent" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiabilityCurrent" xlink:label="loc_us-gaapOperatingLeaseLiabilityCurrent" />
      <link:calculationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapLiabilitiesCurrent" xlink:to="loc_us-gaapOperatingLeaseLiabilityCurrent" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongTermDebtCurrent" xlink:label="loc_us-gaapLongTermDebtCurrent" />
      <link:calculationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapLiabilitiesCurrent" xlink:to="loc_us-gaapLongTermDebtCurrent" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:label="loc_us-gaapOperatingLeaseLiabilityNoncurrent" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapLiabilities" xlink:to="loc_us-gaapOperatingLeaseLiabilityNoncurrent" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredIncomeTaxLiabilitiesNet" xlink:label="loc_us-gaapDeferredIncomeTaxLiabilitiesNet" />
      <link:calculationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapLiabilities" xlink:to="loc_us-gaapDeferredIncomeTaxLiabilitiesNet" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongTermDebtNoncurrent" xlink:label="loc_us-gaapLongTermDebtNoncurrent" />
      <link:calculationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapLiabilities" xlink:to="loc_us-gaapLongTermDebtNoncurrent" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquity" xlink:label="loc_us-gaapStockholdersEquity" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockValue" xlink:label="loc_us-gaapCommonStockValue" />
      <link:calculationArc order="1" 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/2023/elts/us-gaap-2023.xsd#us-gaap_AdditionalPaidInCapital" xlink:label="loc_us-gaapAdditionalPaidInCapital" />
      <link:calculationArc order="2" 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/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:label="loc_us-gaapAccumulatedOtherComprehensiveIncomeLossNetOfTax" />
      <link:calculationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapStockholdersEquity" xlink:to="loc_us-gaapAccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" xlink:label="loc_us-gaapStockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapStockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" xlink:to="loc_us-gaapStockholdersEquity" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MinorityInterest" xlink:label="loc_us-gaapMinorityInterest" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapStockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" xlink:to="loc_us-gaapMinorityInterest" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapLiabilitiesAndStockholdersEquity" xlink:to="loc_us-gaapStockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" xlink:type="arc" weight="1" />
    </link:calculationLink>
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/InterimConsolidatedBalanceSheetsParenthetical" xlink:title="00000003 - Statement - Condensed Interim Consolidated Balance Sheets (Parenthetical)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfOperationsAndComprehensiveIncome" xlink:title="00000004 - Statement - Condensed Interim Consolidated Statements of Operations and Comprehensive Income (Unaudited)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GrossProfit" xlink:label="loc_us-gaapGrossProfit" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_CostOfGoodsAndServicesSold" xlink:label="loc_us-gaapCostOfGoodsAndServicesSold" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapGrossProfit" xlink:to="loc_us-gaapCostOfGoodsAndServicesSold" xlink:type="arc" weight="-1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingExpenses" xlink:label="loc_us-gaapOperatingExpenses" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SalariesAndWages" xlink:label="loc_us-gaapSalariesAndWages" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapOperatingExpenses" xlink:to="loc_us-gaapSalariesAndWages" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OfficersCompensation" xlink:label="loc_us-gaapOfficersCompensation" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapOperatingExpenses" xlink:to="loc_us-gaapOfficersCompensation" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GeneralInsuranceExpense" xlink:label="loc_us-gaapGeneralInsuranceExpense" />
      <link:calculationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapOperatingExpenses" xlink:to="loc_us-gaapGeneralInsuranceExpense" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InterestExpense" xlink:label="loc_us-gaapInterestExpense" />
      <link:calculationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapOperatingExpenses" xlink:to="loc_us-gaapInterestExpense" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProfessionalFees" xlink:label="loc_us-gaapProfessionalFees" />
      <link:calculationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapOperatingExpenses" xlink:to="loc_us-gaapProfessionalFees" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherGeneralExpense" xlink:label="loc_us-gaapOtherGeneralExpense" />
      <link:calculationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapOperatingExpenses" xlink:to="loc_us-gaapOtherGeneralExpense" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_Consulting" xlink:label="loc_FSIConsulting" />
      <link:calculationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapOperatingExpenses" xlink:to="loc_FSIConsulting" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TravelAndEntertainmentExpense" xlink:label="loc_us-gaapTravelAndEntertainmentExpense" />
      <link:calculationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapOperatingExpenses" xlink:to="loc_us-gaapTravelAndEntertainmentExpense" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SellingAndMarketingExpense" xlink:label="loc_us-gaapSellingAndMarketingExpense" />
      <link:calculationArc order="9" 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="fsi-20230630.xsd#FSI_InvestorRelationsAndTransferAgentFee" xlink:label="loc_FSIInvestorRelationsAndTransferAgentFee" />
      <link:calculationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapOperatingExpenses" xlink:to="loc_FSIInvestorRelationsAndTransferAgentFee" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseExpense" xlink:label="loc_us-gaapOperatingLeaseExpense" />
      <link:calculationArc order="11" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapOperatingExpenses" xlink:to="loc_us-gaapOperatingLeaseExpense" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ResearchAndDevelopmentExpense" xlink:label="loc_us-gaapResearchAndDevelopmentExpense" />
      <link:calculationArc order="12" 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/2023/elts/us-gaap-2023.xsd#us-gaap_ForeignCurrencyTransactionGainLossBeforeTax" xlink:label="loc_us-gaapForeignCurrencyTransactionGainLossBeforeTax" />
      <link:calculationArc order="13" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapOperatingExpenses" xlink:to="loc_us-gaapForeignCurrencyTransactionGainLossBeforeTax" xlink:type="arc" weight="-1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommunicationsAndInformationTechnology" xlink:label="loc_us-gaapCommunicationsAndInformationTechnology" />
      <link:calculationArc order="14" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapOperatingExpenses" xlink:to="loc_us-gaapCommunicationsAndInformationTechnology" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UtilitiesOperatingExpense" xlink:label="loc_us-gaapUtilitiesOperatingExpense" />
      <link:calculationArc order="15" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapOperatingExpenses" xlink:to="loc_us-gaapUtilitiesOperatingExpense" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_ShippingCost" xlink:label="loc_FSIShippingCost" />
      <link:calculationArc order="16" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapOperatingExpenses" xlink:to="loc_FSIShippingCost" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_Commissions" xlink:label="loc_FSICommissions" />
      <link:calculationArc order="17" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapOperatingExpenses" xlink:to="loc_FSICommissions" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_GainOnAcquisitionOfSubsidiaries" xlink:label="loc_FSIGainOnAcquisitionOfSubsidiaries" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapIncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:to="loc_FSIGainOnAcquisitionOfSubsidiaries" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GainLossOnInvestments" xlink:label="loc_us-gaapGainLossOnInvestments" />
      <link:calculationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapIncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:to="loc_us-gaapGainLossOnInvestments" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InterestIncomeOther" xlink:label="loc_us-gaapInterestIncomeOther" />
      <link:calculationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapIncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:to="loc_us-gaapInterestIncomeOther" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProfitLoss" xlink:label="loc_us-gaapProfitLoss" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapProfitLoss" xlink:to="loc_us-gaapIncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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-gaapProfitLoss" xlink:to="loc_us-gaapIncomeTaxExpenseBenefit" xlink:type="arc" weight="-1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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-gaapProfitLoss" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLossAttributableToNoncontrollingInterest" xlink:label="loc_us-gaapNetIncomeLossAttributableToNoncontrollingInterest" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetIncomeLoss" xlink:to="loc_us-gaapNetIncomeLossAttributableToNoncontrollingInterest" xlink:type="arc" weight="-1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest" xlink:label="loc_us-gaapComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest" xlink:to="loc_us-gaapProfitLoss" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:label="loc_us-gaapOtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest" xlink:to="loc_us-gaapOtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ComprehensiveIncomeNetOfTax" xlink:label="loc_us-gaapComprehensiveIncomeNetOfTax" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapComprehensiveIncomeNetOfTax" xlink:to="loc_us-gaapComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest" xlink:label="loc_us-gaapComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapComprehensiveIncomeNetOfTax" xlink:to="loc_us-gaapComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest" xlink:type="arc" weight="-1" />
    </link:calculationLink>
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfCashFlows" xlink:title="00000005 - Statement - Condensed Interim Consolidated Statements of Cash Flows (Unaudited)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:label="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProfitLoss" xlink:label="loc_us-gaapProfitLoss" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaapProfitLoss" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensation" xlink:label="loc_us-gaapShareBasedCompensation" />
      <link:calculationArc order="2" 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/2023/elts/us-gaap-2023.xsd#us-gaap_DepreciationAndAmortization" xlink:label="loc_us-gaapDepreciationAndAmortization" />
      <link:calculationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaapDepreciationAndAmortization" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseRightOfUseAssetAmortization" xlink:label="loc_us-gaapFinanceLeaseRightOfUseAssetAmortization" />
      <link:calculationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaapFinanceLeaseRightOfUseAssetAmortization" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_LeaseRightOfUseFinancing" xlink:label="loc_FSILeaseRightOfUseFinancing" />
      <link:calculationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:to="loc_FSILeaseRightOfUseFinancing" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GainLossOnInvestments" xlink:label="loc_us-gaapGainLossOnInvestments" />
      <link:calculationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaapGainLossOnInvestments" xlink:type="arc" weight="-1" />
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_GainOnAcquisitionOfSubsidiaries" xlink:label="loc_FSIGainOnAcquisitionOfSubsidiaries" />
      <link:calculationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:to="loc_FSIGainOnAcquisitionOfSubsidiaries" xlink:type="arc" weight="-1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInInventories" xlink:label="loc_us-gaapIncreaseDecreaseInInventories" />
      <link:calculationArc order="9" 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/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInPrepaidExpense" xlink:label="loc_us-gaapIncreaseDecreaseInPrepaidExpense" />
      <link:calculationArc order="10" 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/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities" xlink:label="loc_us-gaapIncreaseDecreaseInAccountsPayableAndAccruedLiabilities" />
      <link:calculationArc order="11" 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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInContractWithCustomerLiability" xlink:label="loc_us-gaapIncreaseDecreaseInContractWithCustomerLiability" />
      <link:calculationArc order="13" 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/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:label="loc_us-gaapNetCashProvidedByUsedInInvestingActivities" />
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_ProceedsFromNoncontrollingInterest" xlink:label="loc_FSIProceedsFromNoncontrollingInterest" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInInvestingActivities" xlink:to="loc_FSIProceedsFromNoncontrollingInterest" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired" xlink:label="loc_us-gaapPaymentsToAcquireBusinessesNetOfCashAcquired" />
      <link:calculationArc order="2" 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/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToAcquireInvestments" xlink:label="loc_us-gaapPaymentsToAcquireInvestments" />
      <link:calculationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInInvestingActivities" xlink:to="loc_us-gaapPaymentsToAcquireInvestments" xlink:type="arc" weight="-1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromSaleOfEquityMethodInvestments" xlink:label="loc_us-gaapProceedsFromSaleOfEquityMethodInvestments" />
      <link:calculationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInInvestingActivities" xlink:to="loc_us-gaapProceedsFromSaleOfEquityMethodInvestments" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_DepositsOnPurchasesOfEquipment" xlink:label="loc_FSIDepositsOnPurchasesOfEquipment" />
      <link:calculationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInInvestingActivities" xlink:to="loc_FSIDepositsOnPurchasesOfEquipment" xlink:type="arc" weight="-1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:label="loc_us-gaapPaymentsToAcquirePropertyPlantAndEquipment" />
      <link:calculationArc order="6" 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/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:label="loc_us-gaapNetCashProvidedByUsedInFinancingActivities" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RepaymentsOfShortTermDebt" xlink:label="loc_us-gaapRepaymentsOfShortTermDebt" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInFinancingActivities" xlink:to="loc_us-gaapRepaymentsOfShortTermDebt" xlink:type="arc" weight="-1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RepaymentsOfLongTermDebt" xlink:label="loc_us-gaapRepaymentsOfLongTermDebt" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInFinancingActivities" xlink:to="loc_us-gaapRepaymentsOfLongTermDebt" xlink:type="arc" weight="-1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromIssuanceOfLongTermDebt" xlink:label="loc_us-gaapProceedsFromIssuanceOfLongTermDebt" />
      <link:calculationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInFinancingActivities" xlink:to="loc_us-gaapProceedsFromIssuanceOfLongTermDebt" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsOfDividends" xlink:label="loc_us-gaapPaymentsOfDividends" />
      <link:calculationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInFinancingActivities" xlink:to="loc_us-gaapPaymentsOfDividends" xlink:type="arc" weight="-1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsOfFinancingCosts" xlink:label="loc_us-gaapPaymentsOfFinancingCosts" />
      <link:calculationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInFinancingActivities" xlink:to="loc_us-gaapPaymentsOfFinancingCosts" xlink:type="arc" weight="-1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToMinorityShareholders" xlink:label="loc_us-gaapPaymentsToMinorityShareholders" />
      <link:calculationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInFinancingActivities" xlink:to="loc_us-gaapPaymentsToMinorityShareholders" xlink:type="arc" weight="-1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromIssuanceOfCommonStock" xlink:label="loc_us-gaapProceedsFromIssuanceOfCommonStock" />
      <link:calculationArc order="7" 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="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:label="loc_us-gaapEffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" />
      <link:calculationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:to="loc_us-gaapEffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:type="arc" weight="1" />
    </link:calculationLink>
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfStockholdersEquity" xlink:title="00000006 - Statement - Condensed Interim Consolidated Statements of Stockholders&apos; Equity (Unaudited)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/BasisOfPresentation" xlink:title="00000007 - Disclosure - BASIS OF PRESENTATION" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/SignificantAccountingPolicies" xlink:title="00000008 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/Leases." xlink:title="00000009 - Disclosure - LEASES." />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/AccountsReceivable." xlink:title="00000010 - Disclosure - ACCOUNTS RECEIVABLE." />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/Inventories." xlink:title="00000011 - Disclosure - INVENTORIES." />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/PropertyEquipmentLeaseholds." xlink:title="00000012 - Disclosure - PROPERTY, EQUIPMENT &amp; LEASEHOLDS." />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/Patents." xlink:title="00000013 - Disclosure - PATENTS." />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/GoodwillAndIndefiniteLivedIntangibleAssets." xlink:title="00000014 - Disclosure - GOODWILL AND INDEFINITE LIVED INTANGIBLE ASSETS." />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/LongTermDeposits." xlink:title="00000015 - Disclosure - LONG TERM DEPOSITS." />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/Investments." xlink:title="00000016 - Disclosure - INVESTMENTS." />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/Short-termLineOfCredit." xlink:title="00000017 - Disclosure - SHORT-TERM LINE OF CREDIT." />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/LongTermDebt." xlink:title="00000018 - Disclosure - LONG TERM DEBT." />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/StockOptions." xlink:title="00000019 - Disclosure - STOCK OPTIONS." />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/CapitalStock" xlink:title="00000020 - Disclosure - CAPITAL STOCK" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/Non-controllingInterests" xlink:title="00000021 - Disclosure - NON-CONTROLLING INTERESTS" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/SegmentedSignificantCustomerInformationAndEconomicDependency" xlink:title="00000022 - Disclosure - SEGMENTED, SIGNIFICANT CUSTOMER INFORMATION AND ECONOMIC DEPENDENCY" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ComparativeFigures" xlink:title="00000023 - Disclosure - COMPARATIVE FIGURES" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/SubsequentEvents" xlink:title="00000024 - Disclosure - SUBSEQUENT EVENTS" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/SignificantAccountingPoliciesPolicies" xlink:title="00000025 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES (Policies)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/SignificantAccountingPoliciesTables" xlink:title="00000026 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES (Tables)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/Leases.Tables" xlink:title="00000027 - Disclosure - LEASES. (Tables)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/AccountsReceivable.Tables" xlink:title="00000028 - Disclosure - ACCOUNTS RECEIVABLE. (Tables)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/Inventories.Tables" xlink:title="00000029 - Disclosure - INVENTORIES. (Tables)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/PropertyEquipmentLeaseholds.Tables" xlink:title="00000030 - Disclosure - PROPERTY, EQUIPMENT &amp; LEASEHOLDS. (Tables)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/Patents.Tables" xlink:title="00000031 - Disclosure - PATENTS. (Tables)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/GoodwillAndIndefiniteLivedIntangibleAssets.Tables" xlink:title="00000032 - Disclosure - GOODWILL AND INDEFINITE LIVED INTANGIBLE ASSETS. (Tables)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/LongTermDeposits.Tables" xlink:title="00000033 - Disclosure - LONG TERM DEPOSITS. (Tables)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/Investments.Tables" xlink:title="00000034 - Disclosure - INVESTMENTS. (Tables)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/LongTermDebt.Tables" xlink:title="00000035 - Disclosure - LONG TERM DEBT. (Tables)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/StockOptions.Tables" xlink:title="00000036 - Disclosure - STOCK OPTIONS. (Tables)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/Non-controllingInterestsTables" xlink:title="00000037 - Disclosure - NON-CONTROLLING INTERESTS (Tables)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/SegmentedSignificantCustomerInformationAndEconomicDependencyTables" xlink:title="00000038 - Disclosure - SEGMENTED, SIGNIFICANT CUSTOMER INFORMATION AND ECONOMIC DEPENDENCY (Tables)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/BasisOfPresentationDetailsNarrative" xlink:title="00000039 - Disclosure - BASIS OF PRESENTATION (Details Narrative)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfMethodOfDepreciationDetails" xlink:title="00000040 - Disclosure - SCHEDULE OF METHOD OF DEPRECIATION (Details)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/SignificantAccountingPoliciesDetailsNarrative" xlink:title="00000041 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES (Details Narrative)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/SummaryOfRight-of-useAssetAndLeaseLiabilityDetails" xlink:title="00000042 - Disclosure - SUMMARY OF RIGHT-OF-USE ASSET AND LEASE LIABILITY (Details)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfUndiscountedRentPaymentsDetails" xlink:title="00000043 - Disclosure - SCHEDULE OF UNDISCOUNTED RENT PAYMENTS (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:label="loc_us-gaapLesseeOperatingLeaseLiabilityPaymentsDue" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear" xlink:label="loc_us-gaapLesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapLesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="loc_us-gaapLesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:label="loc_us-gaapLesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapLesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="loc_us-gaapLesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:label="loc_us-gaapLesseeOperatingLeaseLiabilityPaymentsDueYearTwo" />
      <link:calculationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapLesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="loc_us-gaapLesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:type="arc" weight="1" />
    </link:calculationLink>
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/Leases.DetailsNarrative" xlink:title="00000044 - Disclosure - LEASES. (Details Narrative)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfAccountsReceivableDetails" xlink:title="00000045 - Disclosure - SCHEDULE OF ACCOUNTS RECEIVABLE (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsAndNotesReceivableNet" xlink:label="loc_us-gaapAccountsAndNotesReceivableNet" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsReceivableGross" xlink:label="loc_us-gaapAccountsReceivableGross" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapAccountsAndNotesReceivableNet" xlink:to="loc_us-gaapAccountsReceivableGross" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AllowanceForDoubtfulAccountsPremiumsAndOtherReceivables" xlink:label="loc_us-gaapAllowanceForDoubtfulAccountsPremiumsAndOtherReceivables" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapAccountsAndNotesReceivableNet" xlink:to="loc_us-gaapAllowanceForDoubtfulAccountsPremiumsAndOtherReceivables" xlink:type="arc" weight="-1" />
    </link:calculationLink>
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfInventoryDetails" xlink:title="00000046 - Disclosure - SCHEDULE OF INVENTORY (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryNet" xlink:label="loc_us-gaapInventoryNet" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryFinishedGoods" xlink:label="loc_us-gaapInventoryFinishedGoods" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapInventoryNet" xlink:to="loc_us-gaapInventoryFinishedGoods" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryRawMaterialsAndSupplies" xlink:label="loc_us-gaapInventoryRawMaterialsAndSupplies" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapInventoryNet" xlink:to="loc_us-gaapInventoryRawMaterialsAndSupplies" xlink:type="arc" weight="1" />
    </link:calculationLink>
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfPropertyEquipmentAndLeaseholdsDetails" xlink:title="00000047 - Disclosure - SCHEDULE OF PROPERTY, EQUIPMENT AND LEASEHOLDS (Details)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/PropertyEquipmentLeaseholds.DetailsNarrative" xlink:title="00000048 - Disclosure - PROPERTY, EQUIPMENT &amp; LEASEHOLDS. (Details Narrative)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfPatentsDetails" xlink:title="00000049 - Disclosure - SCHEDULE OF PATENTS (Details)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfGoodwillAndIndefiniteLivedIntangibleAssetsDetails" xlink:title="00000050 - Disclosure - SCHEDULE OF GOODWILL AND INDEFINITE LIVED INTANGIBLE ASSETS (Details)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfEstimatedFutureAmortizationExpenseDetails" xlink:title="00000051 - Disclosure - SCHEDULE OF ESTIMATED FUTURE AMORTIZATION EXPENSE (Details)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/Patents.DetailsNarrative" xlink:title="00000052 - Disclosure - PATENTS. (Details Narrative)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfLongTermDepositsDetails" xlink:title="00000053 - Disclosure - SCHEDULE OF LONG TERM DEPOSITS (Details)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfFairValuesOfAssetsAcquiredAndLiabilitiesAssumedDetails" xlink:title="00000054 - Disclosure - SCHEDULE OF FAIR VALUES OF THE ASSETS ACQUIRED AND LIABILITIES ASSUMED (Details)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfEquityMethodInvestmentDetails" xlink:title="00000055 - Disclosure - SCHEDULE OF EQUITY METHOD INVESTMENT (Details)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/SummaryOfProfitAndLossInformationRelatedToEquityAccountedInvestmentDetails" xlink:title="00000056 - Disclosure - SUMMARY OF PROFIT AND LOSS INFORMATION RELATED TO EQUITY ACCOUNTED INVESTMENT (Details)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/Investments.DetailsNarrative" xlink:title="00000057 - Disclosure - INVESTMENTS. (Details Narrative)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/Short-termLineOfCredit.DetailsNarrative" xlink:title="00000058 - Disclosure - SHORT-TERM LINE OF CREDIT. (Details Narrative)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfLoanCovenantsDetails" xlink:title="00000059 - Disclosure - SCHEDULE OF LOAN COVENANTS (Details)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfOutstandingBalanceLoanDetails" xlink:title="00000060 - Disclosure - SCHEDULE OF OUTSTANDING BALANCE LOAN (Details)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/LongTermDebt.DetailsNarrative" xlink:title="00000061 - Disclosure - LONG TERM DEBT. (Details Narrative)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfStockOptionActivitiesDetails" xlink:title="00000062 - Disclosure - SCHEDULE OF STOCK OPTION ACTIVITIES (Details)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfStockOptionFairValueAssumptionsDetails" xlink:title="00000063 - Disclosure - SCHEDULE OF STOCK OPTION FAIR VALUE ASSUMPTIONS (Details)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/StockOptions.DetailsNarrative" xlink:title="00000064 - Disclosure - STOCK OPTIONS. (Details Narrative)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/CapitalStockDetailsNarrative" xlink:title="00000065 - Disclosure - CAPITAL STOCK (Details Narrative)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfDistributionsDetails" xlink:title="00000066 - Disclosure - SCHEDULE OF DISTRIBUTIONS (Details)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfNonControllingInterestRelatedToAcquisitionDetails" xlink:title="00000067 - Disclosure - SCHEDULE OF NON CONTROLLING INTEREST RELATED TO ACQUISITION (Details)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/Non-controllingInterestsDetailsNarrative" xlink:title="00000068 - Disclosure - NON-CONTROLLING INTERESTS (Details Narrative)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfReportableSegmentsDetails" xlink:title="00000069 - Disclosure - SCHEDULE OF REPORTABLE SEGMENTS (Details)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfRevenueGeneratedInUnitedStatesAndCanadaDetails" xlink:title="00000070 - Disclosure - SCHEDULE OF REVENUE GENERATED IN UNITED STATES AND CANADA (Details)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfLong-livedAssetsAreLocatedInCanadaAndUnitedStatesDetails" xlink:title="00000071 - Disclosure - SCHEDULE OF LONG-LIVED ASSETS ARE LOCATED IN CANADA AND UNITED STATES (Details)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/SegmentedSignificantCustomerInformationAndEconomicDependencyDetailsNarrative" xlink:title="00000072 - Disclosure - SEGMENTED, SIGNIFICANT CUSTOMER INFORMATION AND ECONOMIC DEPENDENCY (Details Narrative)" />
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.DEF
<SEQUENCE>7
<FILENAME>fsi-20230630_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.19a -->
    <!-- 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://flexiblesolutions.com/role/Cover" xlink:href="fsi-20230630.xsd#Cover" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/InterimConsolidatedBalanceSheets" xlink:href="fsi-20230630.xsd#InterimConsolidatedBalanceSheets" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/InterimConsolidatedBalanceSheetsParenthetical" xlink:href="fsi-20230630.xsd#InterimConsolidatedBalanceSheetsParenthetical" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfOperationsAndComprehensiveIncome" xlink:href="fsi-20230630.xsd#InterimConsolidatedStatementsOfOperationsAndComprehensiveIncome" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfCashFlows" xlink:href="fsi-20230630.xsd#InterimConsolidatedStatementsOfCashFlows" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfStockholdersEquity" xlink:href="fsi-20230630.xsd#InterimConsolidatedStatementsOfStockholdersEquity" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/BasisOfPresentation" xlink:href="fsi-20230630.xsd#BasisOfPresentation" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/SignificantAccountingPolicies" xlink:href="fsi-20230630.xsd#SignificantAccountingPolicies" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/Leases." xlink:href="fsi-20230630.xsd#Leases." xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/AccountsReceivable." xlink:href="fsi-20230630.xsd#AccountsReceivable." xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/Inventories." xlink:href="fsi-20230630.xsd#Inventories." xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/PropertyEquipmentLeaseholds." xlink:href="fsi-20230630.xsd#PropertyEquipmentLeaseholds." xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/Patents." xlink:href="fsi-20230630.xsd#Patents." xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/GoodwillAndIndefiniteLivedIntangibleAssets." xlink:href="fsi-20230630.xsd#GoodwillAndIndefiniteLivedIntangibleAssets." xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/LongTermDeposits." xlink:href="fsi-20230630.xsd#LongTermDeposits." xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/Investments." xlink:href="fsi-20230630.xsd#Investments." xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/Short-termLineOfCredit." xlink:href="fsi-20230630.xsd#Short-termLineOfCredit." xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/LongTermDebt." xlink:href="fsi-20230630.xsd#LongTermDebt." xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/StockOptions." xlink:href="fsi-20230630.xsd#StockOptions." xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/CapitalStock" xlink:href="fsi-20230630.xsd#CapitalStock" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/Non-controllingInterests" xlink:href="fsi-20230630.xsd#Non-controllingInterests" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/SegmentedSignificantCustomerInformationAndEconomicDependency" xlink:href="fsi-20230630.xsd#SegmentedSignificantCustomerInformationAndEconomicDependency" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ComparativeFigures" xlink:href="fsi-20230630.xsd#ComparativeFigures" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/SubsequentEvents" xlink:href="fsi-20230630.xsd#SubsequentEvents" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/SignificantAccountingPoliciesPolicies" xlink:href="fsi-20230630.xsd#SignificantAccountingPoliciesPolicies" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/SignificantAccountingPoliciesTables" xlink:href="fsi-20230630.xsd#SignificantAccountingPoliciesTables" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/Leases.Tables" xlink:href="fsi-20230630.xsd#Leases.Tables" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/AccountsReceivable.Tables" xlink:href="fsi-20230630.xsd#AccountsReceivable.Tables" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/Inventories.Tables" xlink:href="fsi-20230630.xsd#Inventories.Tables" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/PropertyEquipmentLeaseholds.Tables" xlink:href="fsi-20230630.xsd#PropertyEquipmentLeaseholds.Tables" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/Patents.Tables" xlink:href="fsi-20230630.xsd#Patents.Tables" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/GoodwillAndIndefiniteLivedIntangibleAssets.Tables" xlink:href="fsi-20230630.xsd#GoodwillAndIndefiniteLivedIntangibleAssets.Tables" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/LongTermDeposits.Tables" xlink:href="fsi-20230630.xsd#LongTermDeposits.Tables" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/Investments.Tables" xlink:href="fsi-20230630.xsd#Investments.Tables" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/LongTermDebt.Tables" xlink:href="fsi-20230630.xsd#LongTermDebt.Tables" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/StockOptions.Tables" xlink:href="fsi-20230630.xsd#StockOptions.Tables" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/Non-controllingInterestsTables" xlink:href="fsi-20230630.xsd#Non-controllingInterestsTables" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/SegmentedSignificantCustomerInformationAndEconomicDependencyTables" xlink:href="fsi-20230630.xsd#SegmentedSignificantCustomerInformationAndEconomicDependencyTables" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/BasisOfPresentationDetailsNarrative" xlink:href="fsi-20230630.xsd#BasisOfPresentationDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfMethodOfDepreciationDetails" xlink:href="fsi-20230630.xsd#ScheduleOfMethodOfDepreciationDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/SignificantAccountingPoliciesDetailsNarrative" xlink:href="fsi-20230630.xsd#SignificantAccountingPoliciesDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/SummaryOfRight-of-useAssetAndLeaseLiabilityDetails" xlink:href="fsi-20230630.xsd#SummaryOfRight-of-useAssetAndLeaseLiabilityDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfUndiscountedRentPaymentsDetails" xlink:href="fsi-20230630.xsd#ScheduleOfUndiscountedRentPaymentsDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/Leases.DetailsNarrative" xlink:href="fsi-20230630.xsd#Leases.DetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfAccountsReceivableDetails" xlink:href="fsi-20230630.xsd#ScheduleOfAccountsReceivableDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfInventoryDetails" xlink:href="fsi-20230630.xsd#ScheduleOfInventoryDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfPropertyEquipmentAndLeaseholdsDetails" xlink:href="fsi-20230630.xsd#ScheduleOfPropertyEquipmentAndLeaseholdsDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/PropertyEquipmentLeaseholds.DetailsNarrative" xlink:href="fsi-20230630.xsd#PropertyEquipmentLeaseholds.DetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfPatentsDetails" xlink:href="fsi-20230630.xsd#ScheduleOfPatentsDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfGoodwillAndIndefiniteLivedIntangibleAssetsDetails" xlink:href="fsi-20230630.xsd#ScheduleOfGoodwillAndIndefiniteLivedIntangibleAssetsDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfEstimatedFutureAmortizationExpenseDetails" xlink:href="fsi-20230630.xsd#ScheduleOfEstimatedFutureAmortizationExpenseDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/Patents.DetailsNarrative" xlink:href="fsi-20230630.xsd#Patents.DetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfLongTermDepositsDetails" xlink:href="fsi-20230630.xsd#ScheduleOfLongTermDepositsDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfFairValuesOfAssetsAcquiredAndLiabilitiesAssumedDetails" xlink:href="fsi-20230630.xsd#ScheduleOfFairValuesOfAssetsAcquiredAndLiabilitiesAssumedDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfEquityMethodInvestmentDetails" xlink:href="fsi-20230630.xsd#ScheduleOfEquityMethodInvestmentDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/SummaryOfProfitAndLossInformationRelatedToEquityAccountedInvestmentDetails" xlink:href="fsi-20230630.xsd#SummaryOfProfitAndLossInformationRelatedToEquityAccountedInvestmentDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/Investments.DetailsNarrative" xlink:href="fsi-20230630.xsd#Investments.DetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/Short-termLineOfCredit.DetailsNarrative" xlink:href="fsi-20230630.xsd#Short-termLineOfCredit.DetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfLoanCovenantsDetails" xlink:href="fsi-20230630.xsd#ScheduleOfLoanCovenantsDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfOutstandingBalanceLoanDetails" xlink:href="fsi-20230630.xsd#ScheduleOfOutstandingBalanceLoanDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/LongTermDebt.DetailsNarrative" xlink:href="fsi-20230630.xsd#LongTermDebt.DetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfStockOptionActivitiesDetails" xlink:href="fsi-20230630.xsd#ScheduleOfStockOptionActivitiesDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfStockOptionFairValueAssumptionsDetails" xlink:href="fsi-20230630.xsd#ScheduleOfStockOptionFairValueAssumptionsDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/StockOptions.DetailsNarrative" xlink:href="fsi-20230630.xsd#StockOptions.DetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/CapitalStockDetailsNarrative" xlink:href="fsi-20230630.xsd#CapitalStockDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfDistributionsDetails" xlink:href="fsi-20230630.xsd#ScheduleOfDistributionsDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfNonControllingInterestRelatedToAcquisitionDetails" xlink:href="fsi-20230630.xsd#ScheduleOfNonControllingInterestRelatedToAcquisitionDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/Non-controllingInterestsDetailsNarrative" xlink:href="fsi-20230630.xsd#Non-controllingInterestsDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfReportableSegmentsDetails" xlink:href="fsi-20230630.xsd#ScheduleOfReportableSegmentsDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfRevenueGeneratedInUnitedStatesAndCanadaDetails" xlink:href="fsi-20230630.xsd#ScheduleOfRevenueGeneratedInUnitedStatesAndCanadaDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfLong-livedAssetsAreLocatedInCanadaAndUnitedStatesDetails" xlink:href="fsi-20230630.xsd#ScheduleOfLong-livedAssetsAreLocatedInCanadaAndUnitedStatesDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/SegmentedSignificantCustomerInformationAndEconomicDependencyDetailsNarrative" xlink:href="fsi-20230630.xsd#SegmentedSignificantCustomerInformationAndEconomicDependencyDetailsNarrative" 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://flexiblesolutions.com/role/Cover" xlink:title="00000001 - Document - Cover" />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/InterimConsolidatedBalanceSheets" xlink:title="00000002 - Statement - Condensed Interim Consolidated Balance Sheets" />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/InterimConsolidatedBalanceSheetsParenthetical" xlink:title="00000003 - Statement - Condensed Interim Consolidated Balance Sheets (Parenthetical)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfOperationsAndComprehensiveIncome" xlink:title="00000004 - Statement - Condensed Interim Consolidated Statements of Operations and Comprehensive Income (Unaudited)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfCashFlows" xlink:title="00000005 - Statement - Condensed Interim Consolidated Statements of Cash Flows (Unaudited)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfStockholdersEquity" xlink:title="00000006 - Statement - Condensed Interim Consolidated Statements of Stockholders&apos; Equity (Unaudited)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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="1" />
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_CapitalInExcessOfParValueMember" xlink:label="loc_FSICapitalInExcessOfParValueMember_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapEquityComponentDomain" xlink:to="loc_FSICapitalInExcessOfParValueMember_10" xlink:type="arc" order="11" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RetainedEarningsMember" xlink:label="loc_us-gaapRetainedEarningsMember_20" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapEquityComponentDomain" xlink:to="loc_us-gaapRetainedEarningsMember_20" xlink:type="arc" order="21" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:label="loc_us-gaapAccumulatedOtherComprehensiveIncomeMember_30" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapEquityComponentDomain" xlink:to="loc_us-gaapAccumulatedOtherComprehensiveIncomeMember_30" xlink:type="arc" order="31" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ParentMember" xlink:label="loc_us-gaapParentMember_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapEquityComponentDomain" xlink:to="loc_us-gaapParentMember_40" xlink:type="arc" order="41" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NoncontrollingInterestMember" xlink:label="loc_us-gaapNoncontrollingInterestMember_50" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapEquityComponentDomain" xlink:to="loc_us-gaapNoncontrollingInterestMember_50" xlink:type="arc" order="51" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" xlink:label="loc_us-gaapStockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_80" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_80" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharesOutstanding" xlink:label="loc_us-gaapSharesOutstanding_80" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapSharesOutstanding_80" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" xlink:label="loc_us-gaapOtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent_80" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapOtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent_80" xlink:type="arc" order="3" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProfitLoss" xlink:label="loc_us-gaapProfitLoss_80" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapProfitLoss_80" xlink:type="arc" order="4" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodValueNewIssues" xlink:label="loc_us-gaapStockIssuedDuringPeriodValueNewIssues_80" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStockIssuedDuringPeriodValueNewIssues_80" xlink:type="arc" order="5" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodSharesNewIssues" xlink:label="loc_us-gaapStockIssuedDuringPeriodSharesNewIssues_80" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStockIssuedDuringPeriodSharesNewIssues_80" xlink:type="arc" order="6" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:label="loc_us-gaapAdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_80" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapAdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_80" xlink:type="arc" order="7" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Dividends" xlink:label="loc_us-gaapDividends_80" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapDividends_80" xlink:type="arc" order="8" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NoncontrollingInterestIncreaseFromBusinessCombination" xlink:label="loc_us-gaapNoncontrollingInterestIncreaseFromBusinessCombination_80" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapNoncontrollingInterestIncreaseFromBusinessCombination_80" xlink:type="arc" order="9" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders" xlink:label="loc_us-gaapMinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders_80" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapMinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders_80" xlink:type="arc" order="10" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/BasisOfPresentation" xlink:title="00000007 - Disclosure - BASIS OF PRESENTATION" />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/SignificantAccountingPolicies" xlink:title="00000008 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES" />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/Leases." xlink:title="00000009 - Disclosure - LEASES." />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/AccountsReceivable." xlink:title="00000010 - Disclosure - ACCOUNTS RECEIVABLE." />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/Inventories." xlink:title="00000011 - Disclosure - INVENTORIES." />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/PropertyEquipmentLeaseholds." xlink:title="00000012 - Disclosure - PROPERTY, EQUIPMENT &amp; LEASEHOLDS." />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/Patents." xlink:title="00000013 - Disclosure - PATENTS." />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/GoodwillAndIndefiniteLivedIntangibleAssets." xlink:title="00000014 - Disclosure - GOODWILL AND INDEFINITE LIVED INTANGIBLE ASSETS." />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/LongTermDeposits." xlink:title="00000015 - Disclosure - LONG TERM DEPOSITS." />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/Investments." xlink:title="00000016 - Disclosure - INVESTMENTS." />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/Short-termLineOfCredit." xlink:title="00000017 - Disclosure - SHORT-TERM LINE OF CREDIT." />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/LongTermDebt." xlink:title="00000018 - Disclosure - LONG TERM DEBT." />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/StockOptions." xlink:title="00000019 - Disclosure - STOCK OPTIONS." />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/CapitalStock" xlink:title="00000020 - Disclosure - CAPITAL STOCK" />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/Non-controllingInterests" xlink:title="00000021 - Disclosure - NON-CONTROLLING INTERESTS" />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/SegmentedSignificantCustomerInformationAndEconomicDependency" xlink:title="00000022 - Disclosure - SEGMENTED, SIGNIFICANT CUSTOMER INFORMATION AND ECONOMIC DEPENDENCY" />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ComparativeFigures" xlink:title="00000023 - Disclosure - COMPARATIVE FIGURES" />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/SubsequentEvents" xlink:title="00000024 - Disclosure - SUBSEQUENT EVENTS" />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/SignificantAccountingPoliciesPolicies" xlink:title="00000025 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES (Policies)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/SignificantAccountingPoliciesTables" xlink:title="00000026 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES (Tables)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/Leases.Tables" xlink:title="00000027 - Disclosure - LEASES. (Tables)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/AccountsReceivable.Tables" xlink:title="00000028 - Disclosure - ACCOUNTS RECEIVABLE. (Tables)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/Inventories.Tables" xlink:title="00000029 - Disclosure - INVENTORIES. (Tables)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/PropertyEquipmentLeaseholds.Tables" xlink:title="00000030 - Disclosure - PROPERTY, EQUIPMENT &amp; LEASEHOLDS. (Tables)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/Patents.Tables" xlink:title="00000031 - Disclosure - PATENTS. (Tables)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/GoodwillAndIndefiniteLivedIntangibleAssets.Tables" xlink:title="00000032 - Disclosure - GOODWILL AND INDEFINITE LIVED INTANGIBLE ASSETS. (Tables)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/LongTermDeposits.Tables" xlink:title="00000033 - Disclosure - LONG TERM DEPOSITS. (Tables)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/Investments.Tables" xlink:title="00000034 - Disclosure - INVESTMENTS. (Tables)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="loc_deiLegalEntityAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_deiLegalEntityAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="loc_deiEntityDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_deiLegalEntityAxis" xlink:to="loc_deiEntityDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="loc_deiEntityDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_deiLegalEntityAxis" xlink:to="loc_deiEntityDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_EnpPeruInvestmentsLlcMember" xlink:label="loc_FSIEnpPeruInvestmentsLlcMember_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_deiEntityDomain" xlink:to="loc_FSIEnpPeruInvestmentsLlcMember_10" xlink:type="arc" order="11" />
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_FloridaBasedLLCMember" xlink:label="loc_FSIFloridaBasedLLCMember_20" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_deiEntityDomain" xlink:to="loc_FSIFloridaBasedLLCMember_20" xlink:type="arc" order="21" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock" xlink:label="loc_us-gaapScheduleOfBusinessAcquisitionsByAcquisitionTextBlock_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapScheduleOfBusinessAcquisitionsByAcquisitionTextBlock_40" xlink:type="arc" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityMethodInvestmentsTextBlock" xlink:label="loc_us-gaapEquityMethodInvestmentsTextBlock_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapEquityMethodInvestmentsTextBlock_40" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GainLossOnInvestmentsTextBlock" xlink:label="loc_us-gaapGainLossOnInvestmentsTextBlock_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapGainLossOnInvestmentsTextBlock_40" xlink:type="arc" order="2" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/LongTermDebt.Tables" xlink:title="00000035 - Disclosure - LONG TERM DEBT. (Tables)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/StockOptions.Tables" xlink:title="00000036 - Disclosure - STOCK OPTIONS. (Tables)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/Non-controllingInterestsTables" xlink:title="00000037 - Disclosure - NON-CONTROLLING INTERESTS (Tables)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/SegmentedSignificantCustomerInformationAndEconomicDependencyTables" xlink:title="00000038 - Disclosure - SEGMENTED, SIGNIFICANT CUSTOMER INFORMATION AND ECONOMIC DEPENDENCY (Tables)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/BasisOfPresentationDetailsNarrative" xlink:title="00000039 - Disclosure - BASIS OF PRESENTATION (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/srt/2023/elts/srt-2023.xsd#srt_OwnershipAxis" xlink:label="loc_srtOwnershipAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_srtOwnershipAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_OwnershipDomain" xlink:label="loc_srtOwnershipDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srtOwnershipAxis" xlink:to="loc_srtOwnershipDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_OwnershipDomain" xlink:label="loc_srtOwnershipDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_srtOwnershipAxis" xlink:to="loc_srtOwnershipDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_EnpPeruInvestmentsLlcMember" xlink:label="loc_FSIEnpPeruInvestmentsLlcMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtOwnershipDomain" xlink:to="loc_FSIEnpPeruInvestmentsLlcMember_0" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_ENPInvestmentsLLCAndENPMendotaMember" xlink:label="loc_FSIENPInvestmentsLLCAndENPMendotaMember_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtOwnershipDomain" xlink:to="loc_FSIENPInvestmentsLLCAndENPMendotaMember_10" xlink:type="arc" order="11" />
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_ENPPeruMember" xlink:label="loc_FSIENPPeruMember_20" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtOwnershipDomain" xlink:to="loc_FSIENPPeruMember_20" xlink:type="arc" order="21" />
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_MendotaLLCMember" xlink:label="loc_FSIMendotaLLCMember_60" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtOwnershipDomain" xlink:to="loc_FSIMendotaLLCMember_60" xlink:type="arc" order="61" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" xlink:label="loc_us-gaapRelatedPartyTransactionsByRelatedPartyAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_us-gaapRelatedPartyTransactionsByRelatedPartyAxis" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RelatedPartyDomain" xlink:label="loc_us-gaapRelatedPartyDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapRelatedPartyTransactionsByRelatedPartyAxis" xlink:to="loc_us-gaapRelatedPartyDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RelatedPartyDomain" xlink:label="loc_us-gaapRelatedPartyDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapRelatedPartyTransactionsByRelatedPartyAxis" xlink:to="loc_us-gaapRelatedPartyDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_UnrelatedPartyMember" xlink:label="loc_FSIUnrelatedPartyMember_20" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapRelatedPartyDomain" xlink:to="loc_FSIUnrelatedPartyMember_20" xlink:type="arc" order="22" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RelatedPartyMember" xlink:label="loc_us-gaapRelatedPartyMember_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapRelatedPartyDomain" xlink:to="loc_us-gaapRelatedPartyMember_70" xlink:type="arc" order="72" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest" xlink:label="loc_us-gaapSubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest_90" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapSubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest_90" xlink:type="arc" order="0" />
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_IncreaseDecreaseInSharePercentage" xlink:label="loc_FSIIncreaseDecreaseInSharePercentage_90" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_FSIIncreaseDecreaseInSharePercentage_90" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_RemainingInvestmentOwnedPercentage" xlink:label="loc_FSIRemainingInvestmentOwnedPercentage_90" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_FSIRemainingInvestmentOwnedPercentage_90" xlink:type="arc" order="2" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfMethodOfDepreciationDetails" xlink:title="00000040 - Disclosure - SCHEDULE OF METHOD OF DEPRECIATION (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentLineItems" xlink:label="loc_us-gaapPropertyPlantAndEquipmentLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_ComputerEquipmentMember" xlink:label="loc_us-gaapComputerEquipmentMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_us-gaapComputerEquipmentMember_0" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MachineryAndEquipmentMember" xlink:label="loc_us-gaapMachineryAndEquipmentMember_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_us-gaapMachineryAndEquipmentMember_10" xlink:type="arc" order="11" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OfficeEquipmentMember" xlink:label="loc_us-gaapOfficeEquipmentMember_20" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_us-gaapOfficeEquipmentMember_20" xlink:type="arc" order="21" />
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_BoatMember" xlink:label="loc_FSIBoatMember_30" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_FSIBoatMember_30" xlink:type="arc" order="31" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BuildingAndBuildingImprovementsMember" xlink:label="loc_us-gaapBuildingAndBuildingImprovementsMember_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_us-gaapBuildingAndBuildingImprovementsMember_40" xlink:type="arc" order="41" />
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_TrailerMember" xlink:label="loc_FSITrailerMember_50" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_FSITrailerMember_50" xlink:type="arc" order="51" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AutomobilesMember" xlink:label="loc_us-gaapAutomobilesMember_60" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_us-gaapAutomobilesMember_60" xlink:type="arc" order="61" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PatentsMember" xlink:label="loc_us-gaapPatentsMember_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_us-gaapPatentsMember_70" xlink:type="arc" order="71" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TechnologyEquipmentMember" xlink:label="loc_us-gaapTechnologyEquipmentMember_80" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_us-gaapTechnologyEquipmentMember_80" xlink:type="arc" order="81" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LeaseholdImprovementsMember" xlink:label="loc_us-gaapLeaseholdImprovementsMember_90" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_us-gaapLeaseholdImprovementsMember_90" xlink:type="arc" order="91" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CustomerRelationshipsMember" xlink:label="loc_us-gaapCustomerRelationshipsMember_100" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_us-gaapCustomerRelationshipsMember_100" xlink:type="arc" order="101" />
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_SoftwareMember" xlink:label="loc_FSISoftwareMember_110" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_FSISoftwareMember_110" xlink:type="arc" order="111" />
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_DepreciationMethodUsedAndAnnualRate" xlink:label="loc_FSIDepreciationMethodUsedAndAnnualRate_130" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPropertyPlantAndEquipmentLineItems" xlink:to="loc_FSIDepreciationMethodUsedAndAnnualRate_130" xlink:type="arc" order="0" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/SignificantAccountingPoliciesDetailsNarrative" xlink:title="00000041 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProductInformationLineItems" xlink:label="loc_us-gaapProductInformationLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/srt-2023.xsd#srt_ProductOrServiceAxis" xlink:label="loc_srtProductOrServiceAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfProductInformationTable" xlink:to="loc_srtProductOrServiceAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.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/2023/elts/srt-2023.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="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShippingAndHandlingMember" xlink:label="loc_us-gaapShippingAndHandlingMember_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtProductsAndServicesDomain" xlink:to="loc_us-gaapShippingAndHandlingMember_10" xlink:type="arc" order="11" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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="fsi-20230630.xsd#FSI_ThreePrimaryCustomersMember" xlink:label="loc_FSIThreePrimaryCustomersMember_30" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapConcentrationRiskTypeDomain" xlink:to="loc_FSIThreePrimaryCustomersMember_30" xlink:type="arc" order="31" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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="3" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerMember" xlink:label="loc_us-gaapRevenueFromContractWithCustomerMember_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapConcentrationRiskBenchmarkDomain" xlink:to="loc_us-gaapRevenueFromContractWithCustomerMember_40" xlink:type="arc" order="42" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsReceivableMember" xlink:label="loc_us-gaapAccountsReceivableMember_110" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapConcentrationRiskBenchmarkDomain" xlink:to="loc_us-gaapAccountsReceivableMember_110" xlink:type="arc" order="112" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis" xlink:label="loc_srtScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfProductInformationTable" xlink:to="loc_srtScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis" xlink:type="arc" order="4" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_EquityMethodInvesteeNameDomain" xlink:label="loc_srtEquityMethodInvesteeNameDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srtScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis" xlink:to="loc_srtEquityMethodInvesteeNameDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_EquityMethodInvesteeNameDomain" xlink:label="loc_srtEquityMethodInvesteeNameDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_srtScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis" xlink:to="loc_srtEquityMethodInvesteeNameDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_InvestmentMember" xlink:label="loc_FSIInvestmentMember_160" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtEquityMethodInvesteeNameDomain" xlink:to="loc_FSIInvestmentMember_160" xlink:type="arc" order="161" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Deposits" xlink:label="loc_us-gaapDeposits_180" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapProductInformationLineItems" xlink:to="loc_us-gaapDeposits_180" xlink:type="arc" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PercentageOfInterestBearingDomesticDepositsToDepositsTimeDeposits" xlink:label="loc_us-gaapPercentageOfInterestBearingDomesticDepositsToDepositsTimeDeposits_180" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapProductInformationLineItems" xlink:to="loc_us-gaapPercentageOfInterestBearingDomesticDepositsToDepositsTimeDeposits_180" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InterestPayableCurrentAndNoncurrent" xlink:label="loc_us-gaapInterestPayableCurrentAndNoncurrent_180" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapProductInformationLineItems" xlink:to="loc_us-gaapInterestPayableCurrentAndNoncurrent_180" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_OtherTermDeposit" xlink:label="loc_FSIOtherTermDeposit_180" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapProductInformationLineItems" xlink:to="loc_FSIOtherTermDeposit_180" xlink:type="arc" order="3" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="loc_us-gaapRevenueFromContractWithCustomerExcludingAssessedTax_180" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapProductInformationLineItems" xlink:to="loc_us-gaapRevenueFromContractWithCustomerExcludingAssessedTax_180" xlink:type="arc" order="4" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CostOfGoodsAndServicesSold" xlink:label="loc_us-gaapCostOfGoodsAndServicesSold_180" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapProductInformationLineItems" xlink:to="loc_us-gaapCostOfGoodsAndServicesSold_180" xlink:type="arc" order="5" />
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_ConcentrationRiskThresholdPercentage" xlink:label="loc_FSIConcentrationRiskThresholdPercentage_180" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapProductInformationLineItems" xlink:to="loc_FSIConcentrationRiskThresholdPercentage_180" xlink:type="arc" order="6" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityMethodInvestmentDescriptionOfPrincipalActivities" xlink:label="loc_us-gaapEquityMethodInvestmentDescriptionOfPrincipalActivities_180" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapProductInformationLineItems" xlink:to="loc_us-gaapEquityMethodInvestmentDescriptionOfPrincipalActivities_180" xlink:type="arc" order="7" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/SummaryOfRight-of-useAssetAndLeaseLiabilityDetails" xlink:title="00000042 - Disclosure - SUMMARY OF RIGHT-OF-USE ASSET AND LEASE LIABILITY (Details)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfUndiscountedRentPaymentsDetails" xlink:title="00000043 - Disclosure - SCHEDULE OF UNDISCOUNTED RENT PAYMENTS (Details)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/Leases.DetailsNarrative" xlink:title="00000044 - Disclosure - LEASES. (Details Narrative)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfAccountsReceivableDetails" xlink:title="00000045 - Disclosure - SCHEDULE OF ACCOUNTS RECEIVABLE (Details)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfInventoryDetails" xlink:title="00000046 - Disclosure - SCHEDULE OF INVENTORY (Details)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfPropertyEquipmentAndLeaseholdsDetails" xlink:title="00000047 - Disclosure - SCHEDULE OF PROPERTY, EQUIPMENT AND LEASEHOLDS (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentLineItems" xlink:label="loc_us-gaapPropertyPlantAndEquipmentLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_BuildingAndBuildingImprovementsMember" xlink:label="loc_us-gaapBuildingAndBuildingImprovementsMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_us-gaapBuildingAndBuildingImprovementsMember_0" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AutomobilesMember" xlink:label="loc_us-gaapAutomobilesMember_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_us-gaapAutomobilesMember_10" xlink:type="arc" order="11" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ComputerEquipmentMember" xlink:label="loc_us-gaapComputerEquipmentMember_20" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_us-gaapComputerEquipmentMember_20" xlink:type="arc" order="21" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OfficeEquipmentMember" xlink:label="loc_us-gaapOfficeEquipmentMember_30" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_us-gaapOfficeEquipmentMember_30" xlink:type="arc" order="31" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MachineryAndEquipmentMember" xlink:label="loc_us-gaapMachineryAndEquipmentMember_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_us-gaapMachineryAndEquipmentMember_40" xlink:type="arc" order="41" />
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_TrailerMember" xlink:label="loc_FSITrailerMember_50" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_FSITrailerMember_50" xlink:type="arc" order="51" />
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_BoatMember" xlink:label="loc_FSIBoatMember_60" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_FSIBoatMember_60" xlink:type="arc" order="61" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LeaseholdImprovementsMember" xlink:label="loc_us-gaapLeaseholdImprovementsMember_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_us-gaapLeaseholdImprovementsMember_70" xlink:type="arc" order="71" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DevelopedTechnologyRightsMember" xlink:label="loc_us-gaapDevelopedTechnologyRightsMember_80" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_us-gaapDevelopedTechnologyRightsMember_80" xlink:type="arc" order="81" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LandMember" xlink:label="loc_us-gaapLandMember_90" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_us-gaapLandMember_90" xlink:type="arc" order="91" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentGross" xlink:label="loc_us-gaapPropertyPlantAndEquipmentGross_230" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPropertyPlantAndEquipmentLineItems" xlink:to="loc_us-gaapPropertyPlantAndEquipmentGross_230" xlink:type="arc" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:label="loc_us-gaapAccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_230" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPropertyPlantAndEquipmentLineItems" xlink:to="loc_us-gaapAccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_230" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="loc_us-gaapPropertyPlantAndEquipmentNet_230" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPropertyPlantAndEquipmentLineItems" xlink:to="loc_us-gaapPropertyPlantAndEquipmentNet_230" xlink:type="arc" order="2" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/PropertyEquipmentLeaseholds.DetailsNarrative" xlink:title="00000048 - Disclosure - PROPERTY, EQUIPMENT &amp; LEASEHOLDS. (Details Narrative)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfPatentsDetails" xlink:title="00000049 - Disclosure - SCHEDULE OF PATENTS (Details)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfGoodwillAndIndefiniteLivedIntangibleAssetsDetails" xlink:title="00000050 - Disclosure - SCHEDULE OF GOODWILL AND INDEFINITE LIVED INTANGIBLE ASSETS (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="loc_deiLegalEntityAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_deiLegalEntityAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="loc_deiEntityDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_deiLegalEntityAxis" xlink:to="loc_deiEntityDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="loc_deiEntityDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_deiLegalEntityAxis" xlink:to="loc_deiEntityDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_EnPInvestmentsCorporationLLCMember" xlink:label="loc_FSIEnPInvestmentsCorporationLLCMember_30" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_deiEntityDomain" xlink:to="loc_FSIEnPInvestmentsCorporationLLCMember_30" xlink:type="arc" order="31" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Goodwill" xlink:label="loc_us-gaapGoodwill_90" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapGoodwill_90" xlink:type="arc" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IndefiniteLivedIntangibleAssetsExcludingGoodwill" xlink:label="loc_us-gaapIndefiniteLivedIntangibleAssetsExcludingGoodwill_90" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapIndefiniteLivedIntangibleAssetsExcludingGoodwill_90" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AmortizationOfIntangibleAssets" xlink:label="loc_us-gaapAmortizationOfIntangibleAssets_90" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapAmortizationOfIntangibleAssets_90" xlink:type="arc" order="3" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfEstimatedFutureAmortizationExpenseDetails" xlink:title="00000051 - Disclosure - SCHEDULE OF ESTIMATED FUTURE AMORTIZATION EXPENSE (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ImpairmentEffectsOnEarningsPerShareLineItems" xlink:label="loc_us-gaapImpairmentEffectsOnEarningsPerShareLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ImpairmentEffectsOnEarningsPerShareTable" xlink:label="loc_us-gaapImpairmentEffectsOnEarningsPerShareTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapImpairmentEffectsOnEarningsPerShareLineItems" xlink:to="loc_us-gaapImpairmentEffectsOnEarningsPerShareTable" xlink:type="arc" order="10" xbrldt:closed="true" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueByAssetClassAxis" xlink:label="loc_us-gaapFairValueByAssetClassAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapImpairmentEffectsOnEarningsPerShareTable" xlink:to="loc_us-gaapFairValueByAssetClassAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain" xlink:label="loc_us-gaapFairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapFairValueByAssetClassAxis" xlink:to="loc_us-gaapFairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain" xlink:label="loc_us-gaapFairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapFairValueByAssetClassAxis" xlink:to="loc_us-gaapFairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsMember" xlink:label="loc_us-gaapFiniteLivedIntangibleAssetsMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapFairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain" xlink:to="loc_us-gaapFiniteLivedIntangibleAssetsMember_0" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear" xlink:label="loc_us-gaapFiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear_20" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapImpairmentEffectsOnEarningsPerShareLineItems" xlink:to="loc_us-gaapFiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear_20" xlink:type="arc" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:label="loc_us-gaapFiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_20" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapImpairmentEffectsOnEarningsPerShareLineItems" xlink:to="loc_us-gaapFiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_20" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:label="loc_us-gaapFiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_20" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapImpairmentEffectsOnEarningsPerShareLineItems" xlink:to="loc_us-gaapFiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_20" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:label="loc_us-gaapFiniteLivedIntangibleAssetsAmortizationExpenseYearThree_20" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapImpairmentEffectsOnEarningsPerShareLineItems" xlink:to="loc_us-gaapFiniteLivedIntangibleAssetsAmortizationExpenseYearThree_20" xlink:type="arc" order="3" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:label="loc_us-gaapFiniteLivedIntangibleAssetsAmortizationExpenseYearFour_20" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapImpairmentEffectsOnEarningsPerShareLineItems" xlink:to="loc_us-gaapFiniteLivedIntangibleAssetsAmortizationExpenseYearFour_20" xlink:type="arc" order="4" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/Patents.DetailsNarrative" xlink:title="00000052 - Disclosure - PATENTS. (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:label="loc_us-gaapFiniteLivedIntangibleAssetsLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_PatentsMember" xlink:label="loc_us-gaapPatentsMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapFiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="loc_us-gaapPatentsMember_0" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AmortizationOfIntangibleAssets" xlink:label="loc_us-gaapAmortizationOfIntangibleAssets_30" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapFiniteLivedIntangibleAssetsLineItems" xlink:to="loc_us-gaapAmortizationOfIntangibleAssets_30" xlink:type="arc" order="0" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfLongTermDepositsDetails" xlink:title="00000053 - Disclosure - SCHEDULE OF LONG TERM DEPOSITS (Details)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfFairValuesOfAssetsAcquiredAndLiabilitiesAssumedDetails" xlink:title="00000054 - Disclosure - SCHEDULE OF FAIR VALUES OF THE ASSETS ACQUIRED AND LIABILITIES ASSUMED (Details)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfEquityMethodInvestmentDetails" xlink:title="00000055 - Disclosure - SCHEDULE OF EQUITY METHOD INVESTMENT (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="loc_deiLegalEntityAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_deiLegalEntityAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="loc_deiEntityDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_deiLegalEntityAxis" xlink:to="loc_deiEntityDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="loc_deiEntityDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_deiLegalEntityAxis" xlink:to="loc_deiEntityDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_EnpPeruInvestmentsLlcMember" xlink:label="loc_FSIEnpPeruInvestmentsLlcMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_deiEntityDomain" xlink:to="loc_FSIEnpPeruInvestmentsLlcMember_0" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_FloridaBasedLLCMember" xlink:label="loc_FSIFloridaBasedLLCMember_30" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_deiEntityDomain" xlink:to="loc_FSIFloridaBasedLLCMember_30" xlink:type="arc" order="31" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityMethodInvestments" xlink:label="loc_us-gaapEquityMethodInvestments_90" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapEquityMethodInvestments_90" xlink:type="arc" order="0" />
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_EquityMethodInvestmentReturnOfEquity" xlink:label="loc_FSIEquityMethodInvestmentReturnOfEquity_90" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_FSIEquityMethodInvestmentReturnOfEquity_90" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityMethodInvestmentRealizedGainLossOnDisposal" xlink:label="loc_us-gaapEquityMethodInvestmentRealizedGainLossOnDisposal_90" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapEquityMethodInvestmentRealizedGainLossOnDisposal_90" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_InvestmentEliminatedUponConsolidation" xlink:label="loc_FSIInvestmentEliminatedUponConsolidation_90" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_FSIInvestmentEliminatedUponConsolidation_90" xlink:type="arc" order="3" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/SummaryOfProfitAndLossInformationRelatedToEquityAccountedInvestmentDetails" xlink:title="00000056 - Disclosure - SUMMARY OF PROFIT AND LOSS INFORMATION RELATED TO EQUITY ACCOUNTED INVESTMENT (Details)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/Investments.DetailsNarrative" xlink:title="00000057 - Disclosure - INVESTMENTS. (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfEquityMethodInvestmentsLineItems" xlink:label="loc_us-gaapScheduleOfEquityMethodInvestmentsLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfEquityMethodInvestmentsTable" xlink:label="loc_us-gaapScheduleOfEquityMethodInvestmentsTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapScheduleOfEquityMethodInvestmentsLineItems" xlink:to="loc_us-gaapScheduleOfEquityMethodInvestmentsTable" xlink:type="arc" order="10" xbrldt:closed="true" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis" xlink:label="loc_srtScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfEquityMethodInvestmentsTable" xlink:to="loc_srtScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_EquityMethodInvesteeNameDomain" xlink:label="loc_srtEquityMethodInvesteeNameDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srtScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis" xlink:to="loc_srtEquityMethodInvesteeNameDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_EquityMethodInvesteeNameDomain" xlink:label="loc_srtEquityMethodInvesteeNameDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_srtScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis" xlink:to="loc_srtEquityMethodInvesteeNameDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_EnpPeruInvestmentsLlcMember" xlink:label="loc_FSIEnpPeruInvestmentsLlcMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtEquityMethodInvesteeNameDomain" xlink:to="loc_FSIEnpPeruInvestmentsLlcMember_0" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_NanoChemMember" xlink:label="loc_FSINanoChemMember_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtEquityMethodInvesteeNameDomain" xlink:to="loc_FSINanoChemMember_10" xlink:type="arc" order="11" />
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_ENPInvestmentsLLCMember" xlink:label="loc_FSIENPInvestmentsLLCMember_20" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtEquityMethodInvesteeNameDomain" xlink:to="loc_FSIENPInvestmentsLLCMember_20" xlink:type="arc" order="21" />
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_FloridaBasedLLCMember" xlink:label="loc_FSIFloridaBasedLLCMember_140" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtEquityMethodInvesteeNameDomain" xlink:to="loc_FSIFloridaBasedLLCMember_140" xlink:type="arc" order="141" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_OwnershipAxis" xlink:label="loc_srtOwnershipAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfEquityMethodInvestmentsTable" xlink:to="loc_srtOwnershipAxis" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_OwnershipDomain" xlink:label="loc_srtOwnershipDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srtOwnershipAxis" xlink:to="loc_srtOwnershipDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_OwnershipDomain" xlink:label="loc_srtOwnershipDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_srtOwnershipAxis" xlink:to="loc_srtOwnershipDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_ENPPeruMember" xlink:label="loc_FSIENPPeruMember_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtOwnershipDomain" xlink:to="loc_FSIENPPeruMember_40" xlink:type="arc" order="41" />
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_EnpnvestmentsLlcMember" xlink:label="loc_FSIEnpnvestmentsLlcMember_60" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtOwnershipDomain" xlink:to="loc_FSIEnpnvestmentsLlcMember_60" xlink:type="arc" order="61" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="loc_deiLegalEntityAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfEquityMethodInvestmentsTable" xlink:to="loc_deiLegalEntityAxis" xlink:type="arc" order="3" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="loc_deiEntityDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_deiLegalEntityAxis" xlink:to="loc_deiEntityDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="loc_deiEntityDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_deiLegalEntityAxis" xlink:to="loc_deiEntityDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_AppliedHoldingCorpMember" xlink:label="loc_FSIAppliedHoldingCorpMember_80" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_deiEntityDomain" xlink:to="loc_FSIAppliedHoldingCorpMember_80" xlink:type="arc" order="81" />
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_TrioOpportunityCorpMember" xlink:label="loc_FSITrioOpportunityCorpMember_100" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_deiEntityDomain" xlink:to="loc_FSITrioOpportunityCorpMember_100" xlink:type="arc" order="101" />
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_FloridaBasedLLCMember" xlink:label="loc_FSIFloridaBasedLLCMember_150" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_deiEntityDomain" xlink:to="loc_FSIFloridaBasedLLCMember_150" xlink:type="arc" order="151" />
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_LygosIncMember" xlink:label="loc_FSILygosIncMember_190" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_deiEntityDomain" xlink:to="loc_FSILygosIncMember_190" xlink:type="arc" order="191" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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-gaapScheduleOfEquityMethodInvestmentsTable" xlink:to="loc_us-gaapStatementClassOfStockAxis" xlink:type="arc" order="4" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_CommonClassBMember" xlink:label="loc_us-gaapCommonClassBMember_120" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapClassOfStockDomain" xlink:to="loc_us-gaapCommonClassBMember_120" xlink:type="arc" order="121" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityMethodInvestmentOwnershipPercentage" xlink:label="loc_us-gaapEquityMethodInvestmentOwnershipPercentage_230" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapScheduleOfEquityMethodInvestmentsLineItems" xlink:to="loc_us-gaapEquityMethodInvestmentOwnershipPercentage_230" xlink:type="arc" order="0" />
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_AdditionalEquityMethodInvestmentOwnershipPercentage" xlink:label="loc_FSIAdditionalEquityMethodInvestmentOwnershipPercentage_230" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapScheduleOfEquityMethodInvestmentsLineItems" xlink:to="loc_FSIAdditionalEquityMethodInvestmentOwnershipPercentage_230" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_RemainningShareOutstanding" xlink:label="loc_FSIRemainningShareOutstanding_230" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapScheduleOfEquityMethodInvestmentsLineItems" xlink:to="loc_FSIRemainningShareOutstanding_230" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Cash" xlink:label="loc_us-gaapCash_230" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapScheduleOfEquityMethodInvestmentsLineItems" xlink:to="loc_us-gaapCash_230" xlink:type="arc" order="3" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MinorityInterestOwnershipPercentageByParent" xlink:label="loc_us-gaapMinorityInterestOwnershipPercentageByParent_230" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapScheduleOfEquityMethodInvestmentsLineItems" xlink:to="loc_us-gaapMinorityInterestOwnershipPercentageByParent_230" xlink:type="arc" order="4" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Investments" xlink:label="loc_us-gaapInvestments_230" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapScheduleOfEquityMethodInvestmentsLineItems" xlink:to="loc_us-gaapInvestments_230" xlink:type="arc" order="5" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentMaturityDate" xlink:label="loc_us-gaapDebtInstrumentMaturityDate_230" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapScheduleOfEquityMethodInvestmentsLineItems" xlink:to="loc_us-gaapDebtInstrumentMaturityDate_230" xlink:type="arc" order="6" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodSharesNewIssues" xlink:label="loc_us-gaapStockIssuedDuringPeriodSharesNewIssues_230" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapScheduleOfEquityMethodInvestmentsLineItems" xlink:to="loc_us-gaapStockIssuedDuringPeriodSharesNewIssues_230" xlink:type="arc" order="7" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharePrice" xlink:label="loc_us-gaapSharePrice_230" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapScheduleOfEquityMethodInvestmentsLineItems" xlink:to="loc_us-gaapSharePrice_230" xlink:type="arc" order="8" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Revenues" xlink:label="loc_us-gaapRevenues_230" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapScheduleOfEquityMethodInvestmentsLineItems" xlink:to="loc_us-gaapRevenues_230" xlink:type="arc" order="9" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsReceivableNet" xlink:label="loc_us-gaapAccountsReceivableNet_230" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapScheduleOfEquityMethodInvestmentsLineItems" xlink:to="loc_us-gaapAccountsReceivableNet_230" xlink:type="arc" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToAcquireInvestments" xlink:label="loc_us-gaapPaymentsToAcquireInvestments_230" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapScheduleOfEquityMethodInvestmentsLineItems" xlink:to="loc_us-gaapPaymentsToAcquireInvestments_230" xlink:type="arc" order="11" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/Short-termLineOfCredit.DetailsNarrative" xlink:title="00000058 - Disclosure - SHORT-TERM LINE OF CREDIT. (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityLineItems" xlink:label="loc_us-gaapLineOfCreditFacilityLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityTable" xlink:label="loc_us-gaapLineOfCreditFacilityTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapLineOfCreditFacilityLineItems" xlink:to="loc_us-gaapLineOfCreditFacilityTable" xlink:type="arc" order="10" xbrldt:closed="true" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityAxis" xlink:label="loc_us-gaapLineOfCreditFacilityAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapLineOfCreditFacilityTable" xlink:to="loc_us-gaapLineOfCreditFacilityAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityLenderDomain" xlink:label="loc_us-gaapLineOfCreditFacilityLenderDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapLineOfCreditFacilityAxis" xlink:to="loc_us-gaapLineOfCreditFacilityLenderDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityLenderDomain" xlink:label="loc_us-gaapLineOfCreditFacilityLenderDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapLineOfCreditFacilityAxis" xlink:to="loc_us-gaapLineOfCreditFacilityLenderDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_StockYardAndBankMember" xlink:label="loc_FSIStockYardAndBankMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapLineOfCreditFacilityLenderDomain" xlink:to="loc_FSIStockYardAndBankMember_0" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_StockBankMember" xlink:label="loc_FSIStockBankMember_60" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapLineOfCreditFacilityLenderDomain" xlink:to="loc_FSIStockBankMember_60" xlink:type="arc" order="61" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" xlink:label="loc_us-gaapRelatedPartyTransactionsByRelatedPartyAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapLineOfCreditFacilityTable" xlink:to="loc_us-gaapRelatedPartyTransactionsByRelatedPartyAxis" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RelatedPartyDomain" xlink:label="loc_us-gaapRelatedPartyDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapRelatedPartyTransactionsByRelatedPartyAxis" xlink:to="loc_us-gaapRelatedPartyDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RelatedPartyDomain" xlink:label="loc_us-gaapRelatedPartyDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapRelatedPartyTransactionsByRelatedPartyAxis" xlink:to="loc_us-gaapRelatedPartyDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_MidlandStatesBankMember" xlink:label="loc_FSIMidlandStatesBankMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapRelatedPartyDomain" xlink:to="loc_FSIMidlandStatesBankMember_0" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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-gaapLineOfCreditFacilityTable" xlink:to="loc_us-gaapTypeOfArrangementAxis" xlink:type="arc" order="3" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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="fsi-20230630.xsd#FSI_NewAgreementMember" xlink:label="loc_FSINewAgreementMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapArrangementsAndNonarrangementTransactionsMember" xlink:to="loc_FSINewAgreementMember_0" xlink:type="arc" order="3" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="loc_deiLegalEntityAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapLineOfCreditFacilityTable" xlink:to="loc_deiLegalEntityAxis" xlink:type="arc" order="4" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="loc_deiEntityDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_deiLegalEntityAxis" xlink:to="loc_deiEntityDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="loc_deiEntityDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_deiLegalEntityAxis" xlink:to="loc_deiEntityDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_NanoChemSolutionIncMember" xlink:label="loc_FSINanoChemSolutionIncMember_30" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_deiEntityDomain" xlink:to="loc_FSINanoChemSolutionIncMember_30" xlink:type="arc" order="32" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CreditFacilityAxis" xlink:label="loc_us-gaapCreditFacilityAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapLineOfCreditFacilityTable" xlink:to="loc_us-gaapCreditFacilityAxis" xlink:type="arc" order="5" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CreditFacilityDomain" xlink:label="loc_us-gaapCreditFacilityDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapCreditFacilityAxis" xlink:to="loc_us-gaapCreditFacilityDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CreditFacilityDomain" xlink:label="loc_us-gaapCreditFacilityDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapCreditFacilityAxis" xlink:to="loc_us-gaapCreditFacilityDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevolvingCreditFacilityMember" xlink:label="loc_us-gaapRevolvingCreditFacilityMember_90" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapCreditFacilityDomain" xlink:to="loc_us-gaapRevolvingCreditFacilityMember_90" xlink:type="arc" order="94" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityCurrentBorrowingCapacity" xlink:label="loc_us-gaapLineOfCreditFacilityCurrentBorrowingCapacity_120" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapLineOfCreditFacilityLineItems" xlink:to="loc_us-gaapLineOfCreditFacilityCurrentBorrowingCapacity_120" xlink:type="arc" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:label="loc_us-gaapLineOfCreditFacilityMaximumBorrowingCapacity_120" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapLineOfCreditFacilityLineItems" xlink:to="loc_us-gaapLineOfCreditFacilityMaximumBorrowingCapacity_120" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_PercentageOfForeignAccountsReceivableOfInventory" xlink:label="loc_FSIPercentageOfForeignAccountsReceivableOfInventory_120" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapLineOfCreditFacilityLineItems" xlink:to="loc_FSIPercentageOfForeignAccountsReceivableOfInventory_120" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentFaceAmount" xlink:label="loc_us-gaapDebtInstrumentFaceAmount_120" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapLineOfCreditFacilityLineItems" xlink:to="loc_us-gaapDebtInstrumentFaceAmount_120" xlink:type="arc" order="3" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentInterestRateStatedPercentage" xlink:label="loc_us-gaapDebtInstrumentInterestRateStatedPercentage_120" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapLineOfCreditFacilityLineItems" xlink:to="loc_us-gaapDebtInstrumentInterestRateStatedPercentage_120" xlink:type="arc" order="4" />
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_LoanGuaranteedRate" xlink:label="loc_FSILoanGuaranteedRate_120" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapLineOfCreditFacilityLineItems" xlink:to="loc_FSILoanGuaranteedRate_120" xlink:type="arc" order="5" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LinesOfCreditCurrent" xlink:label="loc_us-gaapLinesOfCreditCurrent_120" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapLineOfCreditFacilityLineItems" xlink:to="loc_us-gaapLinesOfCreditCurrent_120" xlink:type="arc" order="6" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShortTermBorrowings" xlink:label="loc_us-gaapShortTermBorrowings_120" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapLineOfCreditFacilityLineItems" xlink:to="loc_us-gaapShortTermBorrowings_120" xlink:type="arc" order="7" />
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_EligiblePercentageOfDomesticAccountsReceivable" xlink:label="loc_FSIEligiblePercentageOfDomesticAccountsReceivable_120" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapLineOfCreditFacilityLineItems" xlink:to="loc_FSIEligiblePercentageOfDomesticAccountsReceivable_120" xlink:type="arc" order="8" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfLoanCovenantsDetails" xlink:title="00000059 - Disclosure - SCHEDULE OF LOAN COVENANTS (Details)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfOutstandingBalanceLoanDetails" xlink:title="00000060 - Disclosure - SCHEDULE OF OUTSTANDING BALANCE LOAN (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedBenefitPlanDisclosureLineItems" xlink:label="loc_us-gaapDefinedBenefitPlanDisclosureLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfDefinedBenefitPlansDisclosuresTable" xlink:label="loc_us-gaapScheduleOfDefinedBenefitPlansDisclosuresTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapDefinedBenefitPlanDisclosureLineItems" xlink:to="loc_us-gaapScheduleOfDefinedBenefitPlansDisclosuresTable" xlink:type="arc" order="10" xbrldt:closed="true" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" xlink:label="loc_us-gaapRelatedPartyTransactionsByRelatedPartyAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfDefinedBenefitPlansDisclosuresTable" xlink:to="loc_us-gaapRelatedPartyTransactionsByRelatedPartyAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RelatedPartyDomain" xlink:label="loc_us-gaapRelatedPartyDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapRelatedPartyTransactionsByRelatedPartyAxis" xlink:to="loc_us-gaapRelatedPartyDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RelatedPartyDomain" xlink:label="loc_us-gaapRelatedPartyDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapRelatedPartyTransactionsByRelatedPartyAxis" xlink:to="loc_us-gaapRelatedPartyDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_MidlandStatesBankMember" xlink:label="loc_FSIMidlandStatesBankMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapRelatedPartyDomain" xlink:to="loc_FSIMidlandStatesBankMember_0" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_MidlandStatesBankOneMember" xlink:label="loc_FSIMidlandStatesBankOneMember_20" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapRelatedPartyDomain" xlink:to="loc_FSIMidlandStatesBankOneMember_20" xlink:type="arc" order="21" />
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_StockYardsBankTrustMember" xlink:label="loc_FSIStockYardsBankTrustMember_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapRelatedPartyDomain" xlink:to="loc_FSIStockYardsBankTrustMember_40" xlink:type="arc" order="41" />
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_StockYardsBankTrustOneMember" xlink:label="loc_FSIStockYardsBankTrustOneMember_60" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapRelatedPartyDomain" xlink:to="loc_FSIStockYardsBankTrustOneMember_60" xlink:type="arc" order="61" />
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_StockYardsBankTrustTwoMember" xlink:label="loc_FSIStockYardsBankTrustTwoMember_80" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapRelatedPartyDomain" xlink:to="loc_FSIStockYardsBankTrustTwoMember_80" xlink:type="arc" order="81" />
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_StockYardsBankTrustThreeMember" xlink:label="loc_FSIStockYardsBankTrustThreeMember_100" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapRelatedPartyDomain" xlink:to="loc_FSIStockYardsBankTrustThreeMember_100" xlink:type="arc" order="101" />
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_StockYardsBankTrustFourMember" xlink:label="loc_FSIStockYardsBankTrustFourMember_120" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapRelatedPartyDomain" xlink:to="loc_FSIStockYardsBankTrustFourMember_120" xlink:type="arc" order="121" />
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_StockYardsBankTrustFiveMember" xlink:label="loc_FSIStockYardsBankTrustFiveMember_140" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapRelatedPartyDomain" xlink:to="loc_FSIStockYardsBankTrustFiveMember_140" xlink:type="arc" order="141" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongTermDebt" xlink:label="loc_us-gaapLongTermDebt_190" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapDefinedBenefitPlanDisclosureLineItems" xlink:to="loc_us-gaapLongTermDebt_190" xlink:type="arc" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongTermDebtCurrent" xlink:label="loc_us-gaapLongTermDebtCurrent_190" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapDefinedBenefitPlanDisclosureLineItems" xlink:to="loc_us-gaapLongTermDebtCurrent_190" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongTermDebtNoncurrent" xlink:label="loc_us-gaapLongTermDebtNoncurrent_190" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapDefinedBenefitPlanDisclosureLineItems" xlink:to="loc_us-gaapLongTermDebtNoncurrent_190" xlink:type="arc" order="2" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/LongTermDebt.DetailsNarrative" xlink:title="00000061 - Disclosure - LONG TERM DEBT. (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShortTermDebtLineItems" xlink:label="loc_us-gaapShortTermDebtLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShortTermDebtTable" xlink:label="loc_us-gaapScheduleOfShortTermDebtTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapShortTermDebtLineItems" xlink:to="loc_us-gaapScheduleOfShortTermDebtTable" xlink:type="arc" order="10" xbrldt:closed="true" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentAxis" xlink:label="loc_us-gaapDebtInstrumentAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfShortTermDebtTable" xlink:to="loc_us-gaapDebtInstrumentAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentNameDomain" xlink:label="loc_us-gaapDebtInstrumentNameDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapDebtInstrumentAxis" xlink:to="loc_us-gaapDebtInstrumentNameDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentNameDomain" xlink:label="loc_us-gaapDebtInstrumentNameDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapDebtInstrumentAxis" xlink:to="loc_us-gaapDebtInstrumentNameDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_TermLoanMember" xlink:label="loc_FSITermLoanMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapDebtInstrumentNameDomain" xlink:to="loc_FSITermLoanMember_0" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" xlink:label="loc_us-gaapRelatedPartyTransactionsByRelatedPartyAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfShortTermDebtTable" xlink:to="loc_us-gaapRelatedPartyTransactionsByRelatedPartyAxis" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RelatedPartyDomain" xlink:label="loc_us-gaapRelatedPartyDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapRelatedPartyTransactionsByRelatedPartyAxis" xlink:to="loc_us-gaapRelatedPartyDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RelatedPartyDomain" xlink:label="loc_us-gaapRelatedPartyDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapRelatedPartyTransactionsByRelatedPartyAxis" xlink:to="loc_us-gaapRelatedPartyDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_MidlandBankMember" xlink:label="loc_FSIMidlandBankMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapRelatedPartyDomain" xlink:to="loc_FSIMidlandBankMember_0" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_StockYardsBankTrustMember" xlink:label="loc_FSIStockYardsBankTrustMember_130" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapRelatedPartyDomain" xlink:to="loc_FSIStockYardsBankTrustMember_130" xlink:type="arc" order="131" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="loc_deiLegalEntityAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfShortTermDebtTable" xlink:to="loc_deiLegalEntityAxis" xlink:type="arc" order="3" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="loc_deiEntityDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_deiLegalEntityAxis" xlink:to="loc_deiEntityDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="loc_deiEntityDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_deiLegalEntityAxis" xlink:to="loc_deiEntityDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_NanoChemSolutionsIncMember" xlink:label="loc_FSINanoChemSolutionsIncMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_deiEntityDomain" xlink:to="loc_FSINanoChemSolutionsIncMember_0" xlink:type="arc" order="3" />
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_ENPMendotaMember" xlink:label="loc_FSIENPMendotaMember_120" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_deiEntityDomain" xlink:to="loc_FSIENPMendotaMember_120" xlink:type="arc" order="123" />
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_EnpRealtyLLCMember" xlink:label="loc_FSIEnpRealtyLLCMember_130" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_deiEntityDomain" xlink:to="loc_FSIEnpRealtyLLCMember_130" xlink:type="arc" order="132" />
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_NanoChemMember" xlink:label="loc_FSINanoChemMember_210" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_deiEntityDomain" xlink:to="loc_FSINanoChemMember_210" xlink:type="arc" order="211" />
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_ENPPeruOneMember" xlink:label="loc_FSIENPPeruOneMember_250" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_deiEntityDomain" xlink:to="loc_FSIENPPeruOneMember_250" xlink:type="arc" order="253" />
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_ENPPeruInvestmentsMember" xlink:label="loc_FSIENPPeruInvestmentsMember_330" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_deiEntityDomain" xlink:to="loc_FSIENPPeruInvestmentsMember_330" xlink:type="arc" order="333" />
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_MendotaMember" xlink:label="loc_FSIMendotaMember_450" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_deiEntityDomain" xlink:to="loc_FSIMendotaMember_450" xlink:type="arc" order="452" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_VariableRateAxis" xlink:label="loc_us-gaapVariableRateAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfShortTermDebtTable" xlink:to="loc_us-gaapVariableRateAxis" xlink:type="arc" order="4" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_VariableRateDomain" xlink:label="loc_us-gaapVariableRateDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapVariableRateAxis" xlink:to="loc_us-gaapVariableRateDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_VariableRateDomain" xlink:label="loc_us-gaapVariableRateDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapVariableRateAxis" xlink:to="loc_us-gaapVariableRateDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PrimeRateMember" xlink:label="loc_us-gaapPrimeRateMember_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapVariableRateDomain" xlink:to="loc_us-gaapPrimeRateMember_10" xlink:type="arc" order="13" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentFaceAmount" xlink:label="loc_us-gaapDebtInstrumentFaceAmount_500" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShortTermDebtLineItems" xlink:to="loc_us-gaapDebtInstrumentFaceAmount_500" xlink:type="arc" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentInterestRateStatedPercentage" xlink:label="loc_us-gaapDebtInstrumentInterestRateStatedPercentage_500" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShortTermDebtLineItems" xlink:to="loc_us-gaapDebtInstrumentInterestRateStatedPercentage_500" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentTerm" xlink:label="loc_us-gaapDebtInstrumentTerm_500" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShortTermDebtLineItems" xlink:to="loc_us-gaapDebtInstrumentTerm_500" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InterestExpenseDebt" xlink:label="loc_us-gaapInterestExpenseDebt_500" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShortTermDebtLineItems" xlink:to="loc_us-gaapInterestExpenseDebt_500" xlink:type="arc" order="3" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtDefaultLongtermDebtAmount" xlink:label="loc_us-gaapDebtDefaultLongtermDebtAmount_500" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShortTermDebtLineItems" xlink:to="loc_us-gaapDebtDefaultLongtermDebtAmount_500" xlink:type="arc" order="4" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LoansPayable" xlink:label="loc_us-gaapLoansPayable_500" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShortTermDebtLineItems" xlink:to="loc_us-gaapLoansPayable_500" xlink:type="arc" order="5" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InterestExpense" xlink:label="loc_us-gaapInterestExpense_500" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShortTermDebtLineItems" xlink:to="loc_us-gaapInterestExpense_500" xlink:type="arc" order="6" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfStockOptionActivitiesDetails" xlink:title="00000062 - Disclosure - SCHEDULE OF STOCK OPTION ACTIVITIES (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/srt/2023/elts/srt-2023.xsd#srt_RangeAxis" xlink:label="loc_srtRangeAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="loc_srtRangeAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.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/2023/elts/srt-2023.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/2023/elts/srt-2023.xsd#srt_MinimumMember" xlink:label="loc_srtMinimumMember_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtRangeMember" xlink:to="loc_srtMinimumMember_10" xlink:type="arc" order="11" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MaximumMember" xlink:label="loc_srtMaximumMember_20" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtRangeMember" xlink:to="loc_srtMaximumMember_20" xlink:type="arc" order="21" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_140" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_140" xlink:type="arc" order="0" />
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice" xlink:label="loc_FSISharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice_140" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_FSISharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice_140" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_140" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_140" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_140" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_140" xlink:type="arc" order="3" />
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeGrantedOptionsExercisePrice" xlink:label="loc_FSISharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeGrantedOptionsExercisePrice_140" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_FSISharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeGrantedOptionsExercisePrice_140" xlink:type="arc" order="4" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" xlink:label="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_140" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_140" xlink:type="arc" order="5" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod_140" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod_140" xlink:type="arc" order="6" />
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice" xlink:label="loc_FSISharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice_140" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_FSISharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice_140" xlink:type="arc" order="7" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice_140" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice_140" xlink:type="arc" order="8" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:label="loc_us-gaapStockIssuedDuringPeriodSharesStockOptionsExercised_140" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapStockIssuedDuringPeriodSharesStockOptionsExercised_140" xlink:type="arc" order="9" />
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExcercisedOptionsExercisePrice" xlink:label="loc_FSISharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExcercisedOptionsExercisePrice_140" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_FSISharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExcercisedOptionsExercisePrice_140" xlink:type="arc" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" xlink:label="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_140" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_140" xlink:type="arc" order="11" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_140" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_140" xlink:type="arc" order="15" />
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingExercisableOptionsExercisePrice" xlink:label="loc_FSISharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingExercisableOptionsExercisePrice_140" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_FSISharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingExercisableOptionsExercisePrice_140" xlink:type="arc" order="16" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_140" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_140" xlink:type="arc" order="17" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfStockOptionFairValueAssumptionsDetails" xlink:title="00000063 - Disclosure - SCHEDULE OF STOCK OPTION FAIR VALUE ASSUMPTIONS (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/srt/2023/elts/srt-2023.xsd#srt_RangeAxis" xlink:label="loc_srtRangeAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="loc_srtRangeAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.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/2023/elts/srt-2023.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/2023/elts/srt-2023.xsd#srt_MinimumMember" xlink:label="loc_srtMinimumMember_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtRangeMember" xlink:to="loc_srtMinimumMember_10" xlink:type="arc" order="11" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MaximumMember" xlink:label="loc_srtMaximumMember_20" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtRangeMember" xlink:to="loc_srtMaximumMember_20" xlink:type="arc" order="21" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" xlink:label="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_40" xlink:type="arc" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_40" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_40" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_40" xlink:type="arc" order="3" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/StockOptions.DetailsNarrative" xlink:title="00000064 - Disclosure - STOCK OPTIONS. (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsLineItems" xlink:label="loc_us-gaapDeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfDeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsByTitleOfIndividualAndByTypeOfDeferredCompensationTable" xlink:label="loc_us-gaapScheduleOfDeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsByTitleOfIndividualAndByTypeOfDeferredCompensationTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapDeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsLineItems" xlink:to="loc_us-gaapScheduleOfDeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsByTitleOfIndividualAndByTypeOfDeferredCompensationTable" xlink:type="arc" order="10" xbrldt:closed="true" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_TitleOfIndividualAxis" xlink:label="loc_srtTitleOfIndividualAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfDeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsByTitleOfIndividualAndByTypeOfDeferredCompensationTable" xlink:to="loc_srtTitleOfIndividualAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.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/2023/elts/srt-2023.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="fsi-20230630.xsd#FSI_ConsultantsMember" xlink:label="loc_FSIConsultantsMember_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtTitleOfIndividualWithRelationshipToEntityDomain" xlink:to="loc_FSIConsultantsMember_10" xlink:type="arc" order="11" />
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_EmployeesMember" xlink:label="loc_FSIEmployeesMember_30" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtTitleOfIndividualWithRelationshipToEntityDomain" xlink:to="loc_FSIEmployeesMember_30" xlink:type="arc" order="31" />
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_ConsultantMember" xlink:label="loc_FSIConsultantMember_50" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtTitleOfIndividualWithRelationshipToEntityDomain" xlink:to="loc_FSIConsultantMember_50" xlink:type="arc" order="51" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxAuthorityNameAxis" xlink:label="loc_us-gaapIncomeTaxAuthorityNameAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfDeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsByTitleOfIndividualAndByTypeOfDeferredCompensationTable" xlink:to="loc_us-gaapIncomeTaxAuthorityNameAxis" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxAuthorityNameDomain" xlink:label="loc_us-gaapIncomeTaxAuthorityNameDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapIncomeTaxAuthorityNameAxis" xlink:to="loc_us-gaapIncomeTaxAuthorityNameDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxAuthorityNameDomain" xlink:label="loc_us-gaapIncomeTaxAuthorityNameDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapIncomeTaxAuthorityNameAxis" xlink:to="loc_us-gaapIncomeTaxAuthorityNameDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CanadaRevenueAgencyMember" xlink:label="loc_us-gaapCanadaRevenueAgencyMember_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapIncomeTaxAuthorityNameDomain" xlink:to="loc_us-gaapCanadaRevenueAgencyMember_70" xlink:type="arc" order="71" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage" xlink:label="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage_100" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapDeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsLineItems" xlink:to="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage_100" xlink:type="arc" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod" xlink:label="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod_100" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapDeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsLineItems" xlink:to="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod_100" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" xlink:label="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_100" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapDeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsLineItems" xlink:to="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_100" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockOptionPlanExpense" xlink:label="loc_us-gaapStockOptionPlanExpense_100" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapDeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsLineItems" xlink:to="loc_us-gaapStockOptionPlanExpense_100" xlink:type="arc" order="3" />
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_AdditionalExpensesDueToOptionsGranted" xlink:label="loc_FSIAdditionalExpensesDueToOptionsGranted_100" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapDeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsLineItems" xlink:to="loc_FSIAdditionalExpensesDueToOptionsGranted_100" xlink:type="arc" order="4" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:label="loc_us-gaapStockIssuedDuringPeriodSharesStockOptionsExercised_100" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapDeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsLineItems" xlink:to="loc_us-gaapStockIssuedDuringPeriodSharesStockOptionsExercised_100" xlink:type="arc" order="5" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:label="loc_us-gaapEmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_100" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapDeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsLineItems" xlink:to="loc_us-gaapEmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_100" xlink:type="arc" order="6" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:label="loc_us-gaapEmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_100" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapDeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsLineItems" xlink:to="loc_us-gaapEmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_100" xlink:type="arc" order="7" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAggregateIntrinsicValue" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAggregateIntrinsicValue_100" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapDeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAggregateIntrinsicValue_100" xlink:type="arc" order="8" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/CapitalStockDetailsNarrative" xlink:title="00000065 - Disclosure - CAPITAL STOCK (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsLineItems" xlink:label="loc_us-gaapDeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfDeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsByTitleOfIndividualAndByTypeOfDeferredCompensationTable" xlink:label="loc_us-gaapScheduleOfDeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsByTitleOfIndividualAndByTypeOfDeferredCompensationTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapDeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsLineItems" xlink:to="loc_us-gaapScheduleOfDeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsByTitleOfIndividualAndByTypeOfDeferredCompensationTable" xlink:type="arc" order="10" xbrldt:closed="true" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_TitleOfIndividualAxis" xlink:label="loc_srtTitleOfIndividualAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfDeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsByTitleOfIndividualAndByTypeOfDeferredCompensationTable" xlink:to="loc_srtTitleOfIndividualAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.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/2023/elts/srt-2023.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="fsi-20230630.xsd#FSI_EmployeeMember" xlink:label="loc_FSIEmployeeMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtTitleOfIndividualWithRelationshipToEntityDomain" xlink:to="loc_FSIEmployeeMember_0" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_50" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapDeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_50" xlink:type="arc" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodSharesIssuedForServices" xlink:label="loc_us-gaapStockIssuedDuringPeriodSharesIssuedForServices_50" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapDeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsLineItems" xlink:to="loc_us-gaapStockIssuedDuringPeriodSharesIssuedForServices_50" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodValueIssuedForServices" xlink:label="loc_us-gaapStockIssuedDuringPeriodValueIssuedForServices_50" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapDeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsLineItems" xlink:to="loc_us-gaapStockIssuedDuringPeriodValueIssuedForServices_50" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DividendsPayableAmountPerShare" xlink:label="loc_us-gaapDividendsPayableAmountPerShare_50" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapDeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsLineItems" xlink:to="loc_us-gaapDividendsPayableAmountPerShare_50" xlink:type="arc" order="3" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfDistributionsDetails" xlink:title="00000066 - Disclosure - SCHEDULE OF DISTRIBUTIONS (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems" xlink:label="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTable" xlink:label="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems" xlink:to="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTable" xlink:type="arc" order="10" xbrldt:closed="true" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_OwnershipAxis" xlink:label="loc_srtOwnershipAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTable" xlink:to="loc_srtOwnershipAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_OwnershipDomain" xlink:label="loc_srtOwnershipDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srtOwnershipAxis" xlink:to="loc_srtOwnershipDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_OwnershipDomain" xlink:label="loc_srtOwnershipDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_srtOwnershipAxis" xlink:to="loc_srtOwnershipDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_ENPInvestmentsLLCMember" xlink:label="loc_FSIENPInvestmentsLLCMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtOwnershipDomain" xlink:to="loc_FSIENPInvestmentsLLCMember_0" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTable" xlink:to="loc_us-gaapTypeOfArrangementAxis" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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="fsi-20230630.xsd#FSI_OwnershipInterestPurchaseAgreementMember" xlink:label="loc_FSIOwnershipInterestPurchaseAgreementMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapArrangementsAndNonarrangementTransactionsMember" xlink:to="loc_FSIOwnershipInterestPurchaseAgreementMember_0" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MinorityInterest" xlink:label="loc_us-gaapMinorityInterest_60" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems" xlink:to="loc_us-gaapMinorityInterest_60" xlink:type="arc" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders" xlink:label="loc_us-gaapMinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders_60" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems" xlink:to="loc_us-gaapMinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders_60" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLossAttributableToNoncontrollingInterest" xlink:label="loc_us-gaapNetIncomeLossAttributableToNoncontrollingInterest_60" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems" xlink:to="loc_us-gaapNetIncomeLossAttributableToNoncontrollingInterest_60" xlink:type="arc" order="2" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfNonControllingInterestRelatedToAcquisitionDetails" xlink:title="00000067 - Disclosure - SCHEDULE OF NON CONTROLLING INTEREST RELATED TO ACQUISITION (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems" xlink:label="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTable" xlink:label="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems" xlink:to="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTable" xlink:type="arc" order="10" xbrldt:closed="true" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_OwnershipAxis" xlink:label="loc_srtOwnershipAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTable" xlink:to="loc_srtOwnershipAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_OwnershipDomain" xlink:label="loc_srtOwnershipDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srtOwnershipAxis" xlink:to="loc_srtOwnershipDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_OwnershipDomain" xlink:label="loc_srtOwnershipDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_srtOwnershipAxis" xlink:to="loc_srtOwnershipDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_MendotaLLCMember" xlink:label="loc_FSIMendotaLLCMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtOwnershipDomain" xlink:to="loc_FSIMendotaLLCMember_0" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTable" xlink:to="loc_us-gaapTypeOfArrangementAxis" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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="fsi-20230630.xsd#FSI_OwnershipInterestPurchaseAgreementMember" xlink:label="loc_FSIOwnershipInterestPurchaseAgreementMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapArrangementsAndNonarrangementTransactionsMember" xlink:to="loc_FSIOwnershipInterestPurchaseAgreementMember_0" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MinorityInterest" xlink:label="loc_us-gaapMinorityInterest_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems" xlink:to="loc_us-gaapMinorityInterest_40" xlink:type="arc" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToAcquireBusinessesAndInterestInAffiliates" xlink:label="loc_us-gaapPaymentsToAcquireBusinessesAndInterestInAffiliates_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems" xlink:to="loc_us-gaapPaymentsToAcquireBusinessesAndInterestInAffiliates_40" xlink:type="arc" order="1" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/Non-controllingInterestsDetailsNarrative" xlink:title="00000068 - Disclosure - NON-CONTROLLING INTERESTS (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems" xlink:label="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTable" xlink:label="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems" xlink:to="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTable" xlink:type="arc" order="10" xbrldt:closed="true" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_OwnershipAxis" xlink:label="loc_srtOwnershipAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTable" xlink:to="loc_srtOwnershipAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_OwnershipDomain" xlink:label="loc_srtOwnershipDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srtOwnershipAxis" xlink:to="loc_srtOwnershipDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_OwnershipDomain" xlink:label="loc_srtOwnershipDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_srtOwnershipAxis" xlink:to="loc_srtOwnershipDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_ENPInvestmentsLLCMember" xlink:label="loc_FSIENPInvestmentsLLCMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtOwnershipDomain" xlink:to="loc_FSIENPInvestmentsLLCMember_0" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_MendotaLLCMember" xlink:label="loc_FSIMendotaLLCMember_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtOwnershipDomain" xlink:to="loc_FSIMendotaLLCMember_40" xlink:type="arc" order="41" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest" xlink:label="loc_us-gaapSubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems" xlink:to="loc_us-gaapSubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest_70" xlink:type="arc" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MinorityInterestOwnershipPercentageByParent" xlink:label="loc_us-gaapMinorityInterestOwnershipPercentageByParent_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems" xlink:to="loc_us-gaapMinorityInterestOwnershipPercentageByParent_70" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToMinorityShareholders" xlink:label="loc_us-gaapPaymentsToMinorityShareholders_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems" xlink:to="loc_us-gaapPaymentsToMinorityShareholders_70" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Revenues" xlink:label="loc_us-gaapRevenues_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems" xlink:to="loc_us-gaapRevenues_70" xlink:type="arc" order="3" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsReceivableNetCurrent" xlink:label="loc_us-gaapAccountsReceivableNetCurrent_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems" xlink:to="loc_us-gaapAccountsReceivableNetCurrent_70" xlink:type="arc" order="4" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfReportableSegmentsDetails" xlink:title="00000069 - Disclosure - SCHEDULE OF REPORTABLE SEGMENTS (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems" xlink:label="loc_us-gaapEntityWideInformationRevenueFromExternalCustomerLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable" xlink:label="loc_us-gaapScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapEntityWideInformationRevenueFromExternalCustomerLineItems" xlink:to="loc_us-gaapScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable" xlink:type="arc" order="10" xbrldt:closed="true" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ProductOrServiceAxis" xlink:label="loc_srtProductOrServiceAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable" xlink:to="loc_srtProductOrServiceAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.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/2023/elts/srt-2023.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="fsi-20230630.xsd#FSI_EWCPMember" xlink:label="loc_FSIEWCPMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtProductsAndServicesDomain" xlink:to="loc_FSIEWCPMember_0" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_TPAMember" xlink:label="loc_FSITPAMember_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtProductsAndServicesDomain" xlink:to="loc_FSITPAMember_10" xlink:type="arc" order="11" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementBusinessSegmentsAxis" xlink:label="loc_us-gaapStatementBusinessSegmentsAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable" xlink:to="loc_us-gaapStatementBusinessSegmentsAxis" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentDomain" xlink:label="loc_us-gaapSegmentDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapStatementBusinessSegmentsAxis" xlink:to="loc_us-gaapSegmentDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentDomain" xlink:label="loc_us-gaapSegmentDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapStatementBusinessSegmentsAxis" xlink:to="loc_us-gaapSegmentDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_SegmentMember" xlink:label="loc_FSISegmentMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapSegmentDomain" xlink:to="loc_FSISegmentMember_0" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="loc_us-gaapRevenueFromContractWithCustomerExcludingAssessedTax_130" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapEntityWideInformationRevenueFromExternalCustomerLineItems" xlink:to="loc_us-gaapRevenueFromContractWithCustomerExcludingAssessedTax_130" xlink:type="arc" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InterestExpense" xlink:label="loc_us-gaapInterestExpense_130" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapEntityWideInformationRevenueFromExternalCustomerLineItems" xlink:to="loc_us-gaapInterestExpense_130" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DepreciationNonproduction" xlink:label="loc_us-gaapDepreciationNonproduction_130" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapEntityWideInformationRevenueFromExternalCustomerLineItems" xlink:to="loc_us-gaapDepreciationNonproduction_130" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="loc_us-gaapIncomeTaxExpenseBenefit_130" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapEntityWideInformationRevenueFromExternalCustomerLineItems" xlink:to="loc_us-gaapIncomeTaxExpenseBenefit_130" xlink:type="arc" order="3" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLoss" xlink:label="loc_us-gaapNetIncomeLoss_130" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapEntityWideInformationRevenueFromExternalCustomerLineItems" xlink:to="loc_us-gaapNetIncomeLoss_130" xlink:type="arc" order="4" />
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_SegmentAssets" xlink:label="loc_FSISegmentAssets_130" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapEntityWideInformationRevenueFromExternalCustomerLineItems" xlink:to="loc_FSISegmentAssets_130" xlink:type="arc" order="5" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:label="loc_us-gaapPaymentsToAcquirePropertyPlantAndEquipment_130" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapEntityWideInformationRevenueFromExternalCustomerLineItems" xlink:to="loc_us-gaapPaymentsToAcquirePropertyPlantAndEquipment_130" xlink:type="arc" order="6" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfRevenueGeneratedInUnitedStatesAndCanadaDetails" xlink:title="00000070 - Disclosure - SCHEDULE OF REVENUE GENERATED IN UNITED STATES AND CANADA (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems" xlink:label="loc_us-gaapRevenuesFromExternalCustomersAndLongLivedAssetsLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" xlink:label="loc_us-gaapScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapRevenuesFromExternalCustomersAndLongLivedAssetsLineItems" xlink:to="loc_us-gaapScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" xlink:type="arc" order="10" xbrldt:closed="true" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_StatementGeographicalAxis" xlink:label="loc_srtStatementGeographicalAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" xlink:to="loc_srtStatementGeographicalAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.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/2023/elts/srt-2023.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.sec.gov/country/2023/country-2023.xsd#country_CA" xlink:label="loc_countryCA_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtSegmentGeographicalDomain" xlink:to="loc_countryCA_0" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_UnitedStatesandAbroadMember" xlink:label="loc_FSIUnitedStatesandAbroadMember_20" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtSegmentGeographicalDomain" xlink:to="loc_FSIUnitedStatesandAbroadMember_20" xlink:type="arc" order="21" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="loc_us-gaapRevenueFromContractWithCustomerExcludingAssessedTax_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapRevenuesFromExternalCustomersAndLongLivedAssetsLineItems" xlink:to="loc_us-gaapRevenueFromContractWithCustomerExcludingAssessedTax_70" xlink:type="arc" order="0" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfLong-livedAssetsAreLocatedInCanadaAndUnitedStatesDetails" xlink:title="00000071 - Disclosure - SCHEDULE OF LONG-LIVED ASSETS ARE LOCATED IN CANADA AND UNITED STATES (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems" xlink:label="loc_us-gaapRevenuesFromExternalCustomersAndLongLivedAssetsLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" xlink:label="loc_us-gaapScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapRevenuesFromExternalCustomersAndLongLivedAssetsLineItems" xlink:to="loc_us-gaapScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" xlink:type="arc" order="10" xbrldt:closed="true" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_StatementGeographicalAxis" xlink:label="loc_srtStatementGeographicalAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" xlink:to="loc_srtStatementGeographicalAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.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/2023/elts/srt-2023.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.sec.gov/country/2023/country-2023.xsd#country_CA" xlink:label="loc_countryCA_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtSegmentGeographicalDomain" xlink:to="loc_countryCA_0" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_US" xlink:label="loc_countryUS_20" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtSegmentGeographicalDomain" xlink:to="loc_countryUS_20" xlink:type="arc" order="21" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NoncurrentAssets" xlink:label="loc_us-gaapNoncurrentAssets_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapRevenuesFromExternalCustomersAndLongLivedAssetsLineItems" xlink:to="loc_us-gaapNoncurrentAssets_70" xlink:type="arc" order="0" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/SegmentedSignificantCustomerInformationAndEconomicDependencyDetailsNarrative" xlink:title="00000072 - Disclosure - SEGMENTED, SIGNIFICANT CUSTOMER INFORMATION AND ECONOMIC DEPENDENCY (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EntityWideRevenueMajorCustomerLineItems" xlink:label="loc_us-gaapEntityWideRevenueMajorCustomerLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfEntityWideRevenueByMajorCustomersByReportingSegmentsTable" xlink:label="loc_us-gaapScheduleOfEntityWideRevenueByMajorCustomersByReportingSegmentsTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapEntityWideRevenueMajorCustomerLineItems" xlink:to="loc_us-gaapScheduleOfEntityWideRevenueByMajorCustomersByReportingSegmentsTable" xlink:type="arc" order="10" xbrldt:closed="true" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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-gaapScheduleOfEntityWideRevenueByMajorCustomersByReportingSegmentsTable" xlink:to="loc_us-gaapConcentrationRiskByBenchmarkAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsReceivableMember" xlink:label="loc_us-gaapAccountsReceivableMember_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapConcentrationRiskBenchmarkDomain" xlink:to="loc_us-gaapAccountsReceivableMember_10" xlink:type="arc" order="11" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MajorCustomersAxis" xlink:label="loc_srtMajorCustomersAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfEntityWideRevenueByMajorCustomersByReportingSegmentsTable" xlink:to="loc_srtMajorCustomersAxis" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.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/2023/elts/srt-2023.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="fsi-20230630.xsd#FSI_ThreeCustomersMember" xlink:label="loc_FSIThreeCustomersMember_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtNameOfMajorCustomerDomain" xlink:to="loc_FSIThreeCustomersMember_10" xlink:type="arc" order="12" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NumberOfOperatingSegments" xlink:label="loc_us-gaapNumberOfOperatingSegments_60" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapEntityWideRevenueMajorCustomerLineItems" xlink:to="loc_us-gaapNumberOfOperatingSegments_60" xlink:type="arc" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsReceivableNet" xlink:label="loc_us-gaapAccountsReceivableNet_60" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapEntityWideRevenueMajorCustomerLineItems" xlink:to="loc_us-gaapAccountsReceivableNet_60" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_StockOptionExercisePercent" xlink:label="loc_FSIStockOptionExercisePercent_60" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapEntityWideRevenueMajorCustomerLineItems" xlink:to="loc_FSIStockOptionExercisePercent_60" xlink:type="arc" order="2" />
    </link:definitionLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.LAB
<SEQUENCE>8
<FILENAME>fsi-20230630_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.19a -->
    <!-- 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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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="fsi-20230630.xsd#FSI_CapitalInExcessOfParValueMember" xlink:label="FSI_CapitalInExcessOfParValueMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_CapitalInExcessOfParValueMember" xlink:to="FSI_CapitalInExcessOfParValueMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_CapitalInExcessOfParValueMember_lbl" xml:lang="en-US">Capital in Excess of Par Value [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeMember_lbl" xml:lang="en-US">AOCI Attributable to Parent [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ParentMember" xlink:label="us-gaap_ParentMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ParentMember" xlink:to="us-gaap_ParentMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ParentMember_lbl" xml:lang="en-US">Parent [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NoncontrollingInterestMember" xlink:label="us-gaap_NoncontrollingInterestMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NoncontrollingInterestMember" xlink:to="us-gaap_NoncontrollingInterestMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NoncontrollingInterestMember_lbl" xml:lang="en-US">Noncontrolling Interest [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_OwnershipAxis" xlink:label="srt_OwnershipAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_OwnershipAxis" xlink:to="srt_OwnershipAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_OwnershipAxis_lbl" xml:lang="en-US">Ownership [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_EnpPeruInvestmentsLlcMember" xlink:label="FSI_EnpPeruInvestmentsLlcMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_EnpPeruInvestmentsLlcMember" xlink:to="FSI_EnpPeruInvestmentsLlcMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_EnpPeruInvestmentsLlcMember_lbl" xml:lang="en-US">Enp Peru Investments Llc [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_ENPInvestmentsLLCAndENPMendotaMember" xlink:label="FSI_ENPInvestmentsLLCAndENPMendotaMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_ENPInvestmentsLLCAndENPMendotaMember" xlink:to="FSI_ENPInvestmentsLLCAndENPMendotaMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_ENPInvestmentsLLCAndENPMendotaMember_lbl" xml:lang="en-US">ENP Investments LLC and ENP Mendota [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_ENPPeruMember" xlink:label="FSI_ENPPeruMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_ENPPeruMember" xlink:to="FSI_ENPPeruMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_ENPPeruMember_lbl" xml:lang="en-US">ENP Peru [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" xlink:label="us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" xlink:to="us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_lbl" xml:lang="en-US">Related Party, Type [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_UnrelatedPartyMember" xlink:label="FSI_UnrelatedPartyMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_UnrelatedPartyMember" xlink:to="FSI_UnrelatedPartyMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_UnrelatedPartyMember_lbl" xml:lang="en-US">Unrelated Party [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_MendotaLLCMember" xlink:label="FSI_MendotaLLCMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_MendotaLLCMember" xlink:to="FSI_MendotaLLCMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_MendotaLLCMember_lbl" xml:lang="en-US">Mendota LLC [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RelatedPartyMember" xlink:label="us-gaap_RelatedPartyMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RelatedPartyMember" xlink:to="us-gaap_RelatedPartyMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RelatedPartyMember_lbl" xml:lang="en-US">Related Party [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.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="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShippingAndHandlingMember" xlink:label="us-gaap_ShippingAndHandlingMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShippingAndHandlingMember" xlink:to="us-gaap_ShippingAndHandlingMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShippingAndHandlingMember_lbl" xml:lang="en-US">Shipping and Handling [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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="fsi-20230630.xsd#FSI_ThreePrimaryCustomersMember" xlink:label="FSI_ThreePrimaryCustomersMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_ThreePrimaryCustomersMember" xlink:to="FSI_ThreePrimaryCustomersMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_ThreePrimaryCustomersMember_lbl" xml:lang="en-US">Three Primary Customers [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerMember" xlink:label="us-gaap_RevenueFromContractWithCustomerMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueFromContractWithCustomerMember" xlink:to="us-gaap_RevenueFromContractWithCustomerMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RevenueFromContractWithCustomerMember_lbl" xml:lang="en-US">Revenue from Contract with Customer Benchmark [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/srt/2023/elts/srt-2023.xsd#srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis" xlink:label="srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis" xlink:to="srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_lbl" xml:lang="en-US">Investment, Name [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_InvestmentMember" xlink:label="FSI_InvestmentMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_InvestmentMember" xlink:to="FSI_InvestmentMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_InvestmentMember_lbl" xml:lang="en-US">Investment [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_ComputerEquipmentMember" xlink:label="us-gaap_ComputerEquipmentMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ComputerEquipmentMember" xlink:to="us-gaap_ComputerEquipmentMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ComputerEquipmentMember_lbl" xml:lang="en-US">Computer Equipment [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MachineryAndEquipmentMember" xlink:label="us-gaap_MachineryAndEquipmentMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_MachineryAndEquipmentMember" xlink:to="us-gaap_MachineryAndEquipmentMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_MachineryAndEquipmentMember_lbl" xml:lang="en-US">Machinery and Equipment [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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="fsi-20230630.xsd#FSI_BoatMember" xlink:label="FSI_BoatMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_BoatMember" xlink:to="FSI_BoatMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_BoatMember_lbl" xml:lang="en-US">Boat [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BuildingAndBuildingImprovementsMember" xlink:label="us-gaap_BuildingAndBuildingImprovementsMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BuildingAndBuildingImprovementsMember" xlink:to="us-gaap_BuildingAndBuildingImprovementsMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_BuildingAndBuildingImprovementsMember_lbl" xml:lang="en-US">Building and Building Improvements [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_TrailerMember" xlink:label="FSI_TrailerMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_TrailerMember" xlink:to="FSI_TrailerMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_TrailerMember_lbl" xml:lang="en-US">Trailer [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AutomobilesMember" xlink:label="us-gaap_AutomobilesMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AutomobilesMember" xlink:to="us-gaap_AutomobilesMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AutomobilesMember_lbl" xml:lang="en-US">Automobiles [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PatentsMember" xlink:label="us-gaap_PatentsMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PatentsMember" xlink:to="us-gaap_PatentsMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PatentsMember_lbl" xml:lang="en-US">Patents [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TechnologyEquipmentMember" xlink:label="us-gaap_TechnologyEquipmentMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TechnologyEquipmentMember" xlink:to="us-gaap_TechnologyEquipmentMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_TechnologyEquipmentMember_lbl" xml:lang="en-US">Technology Equipment [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_CustomerRelationshipsMember" xlink:label="us-gaap_CustomerRelationshipsMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CustomerRelationshipsMember" xlink:to="us-gaap_CustomerRelationshipsMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CustomerRelationshipsMember_lbl" xml:lang="en-US">Customer Relationships [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_SoftwareMember" xlink:label="FSI_SoftwareMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_SoftwareMember" xlink:to="FSI_SoftwareMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_SoftwareMember_lbl" xml:lang="en-US">Software [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DevelopedTechnologyRightsMember" xlink:label="us-gaap_DevelopedTechnologyRightsMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DevelopedTechnologyRightsMember" xlink:to="us-gaap_DevelopedTechnologyRightsMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DevelopedTechnologyRightsMember_lbl" xml:lang="en-US">Developed Technology Rights [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LandMember" xlink:label="us-gaap_LandMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LandMember" xlink:to="us-gaap_LandMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LandMember_lbl" xml:lang="en-US">Land [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_LegalEntityAxis" xlink:to="dei_LegalEntityAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_LegalEntityAxis_lbl" xml:lang="en-US">Legal Entity [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_EnPInvestmentsCorporationLLCMember" xlink:label="FSI_EnPInvestmentsCorporationLLCMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_EnPInvestmentsCorporationLLCMember" xlink:to="FSI_EnPInvestmentsCorporationLLCMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_EnPInvestmentsCorporationLLCMember_lbl" xml:lang="en-US">ENP Investments Limited Liability Corporation (LLC) [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueByAssetClassAxis" xlink:label="us-gaap_FairValueByAssetClassAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueByAssetClassAxis" xlink:to="us-gaap_FairValueByAssetClassAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FairValueByAssetClassAxis_lbl" xml:lang="en-US">Asset Class [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsMember" xlink:label="us-gaap_FiniteLivedIntangibleAssetsMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMember" xlink:to="us-gaap_FiniteLivedIntangibleAssetsMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsMember_lbl" xml:lang="en-US">Finite-Lived Intangible Assets [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_NanoChemMember" xlink:label="FSI_NanoChemMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_NanoChemMember" xlink:to="FSI_NanoChemMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_NanoChemMember_lbl" xml:lang="en-US">Nano Chem [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_ENPInvestmentsLLCMember" xlink:label="FSI_ENPInvestmentsLLCMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_ENPInvestmentsLLCMember" xlink:to="FSI_ENPInvestmentsLLCMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_ENPInvestmentsLLCMember_lbl" xml:lang="en-US">ENP Investments, LLC [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_EnpnvestmentsLlcMember" xlink:label="FSI_EnpnvestmentsLlcMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_EnpnvestmentsLlcMember" xlink:to="FSI_EnpnvestmentsLlcMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_EnpnvestmentsLlcMember_lbl" xml:lang="en-US">ENP Investments LLC [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_AppliedHoldingCorpMember" xlink:label="FSI_AppliedHoldingCorpMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_AppliedHoldingCorpMember" xlink:to="FSI_AppliedHoldingCorpMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_AppliedHoldingCorpMember_lbl" xml:lang="en-US">Applied Holding Corp [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_TrioOpportunityCorpMember" xlink:label="FSI_TrioOpportunityCorpMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_TrioOpportunityCorpMember" xlink:to="FSI_TrioOpportunityCorpMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_TrioOpportunityCorpMember_lbl" xml:lang="en-US">Trio Opportunity Corp [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_CommonClassBMember" xlink:label="us-gaap_CommonClassBMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonClassBMember" xlink:to="us-gaap_CommonClassBMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommonClassBMember_lbl" xml:lang="en-US">Common Class B [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_FloridaBasedLLCMember" xlink:label="FSI_FloridaBasedLLCMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_FloridaBasedLLCMember" xlink:to="FSI_FloridaBasedLLCMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_FloridaBasedLLCMember_lbl" xml:lang="en-US">Florida Based LLC [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_LygosIncMember" xlink:label="FSI_LygosIncMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_LygosIncMember" xlink:to="FSI_LygosIncMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_LygosIncMember_lbl" xml:lang="en-US">Lygos Inc [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityAxis" xlink:label="us-gaap_LineOfCreditFacilityAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LineOfCreditFacilityAxis" xlink:to="us-gaap_LineOfCreditFacilityAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LineOfCreditFacilityAxis_lbl" xml:lang="en-US">Lender Name [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_StockYardAndBankMember" xlink:label="FSI_StockYardAndBankMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_StockYardAndBankMember" xlink:to="FSI_StockYardAndBankMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_StockYardAndBankMember_lbl" xml:lang="en-US">Stock Yard And Bank One [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_MidlandStatesBankMember" xlink:label="FSI_MidlandStatesBankMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_MidlandStatesBankMember" xlink:to="FSI_MidlandStatesBankMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_MidlandStatesBankMember_lbl" xml:lang="en-US">Midland States Bank [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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="fsi-20230630.xsd#FSI_NewAgreementMember" xlink:label="FSI_NewAgreementMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_NewAgreementMember" xlink:to="FSI_NewAgreementMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_NewAgreementMember_lbl" xml:lang="en-US">New Agreement [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_NanoChemSolutionIncMember" xlink:label="FSI_NanoChemSolutionIncMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_NanoChemSolutionIncMember" xlink:to="FSI_NanoChemSolutionIncMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_NanoChemSolutionIncMember_lbl" xml:lang="en-US">NanoChem Solutions Inc [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_StockBankMember" xlink:label="FSI_StockBankMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_StockBankMember" xlink:to="FSI_StockBankMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_StockBankMember_lbl" xml:lang="en-US">Stock Bank [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CreditFacilityAxis" xlink:label="us-gaap_CreditFacilityAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CreditFacilityAxis" xlink:to="us-gaap_CreditFacilityAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CreditFacilityAxis_lbl" xml:lang="en-US">Credit Facility [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevolvingCreditFacilityMember" xlink:label="us-gaap_RevolvingCreditFacilityMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevolvingCreditFacilityMember" xlink:to="us-gaap_RevolvingCreditFacilityMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RevolvingCreditFacilityMember_lbl" xml:lang="en-US">Revolving Credit Facility [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentAxis" xlink:label="us-gaap_DebtInstrumentAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentAxis" xlink:to="us-gaap_DebtInstrumentAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DebtInstrumentAxis_lbl" xml:lang="en-US">Debt Instrument [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_TermLoanMember" xlink:label="FSI_TermLoanMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_TermLoanMember" xlink:to="FSI_TermLoanMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_TermLoanMember_lbl" xml:lang="en-US">Term Loan [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_MidlandBankMember" xlink:label="FSI_MidlandBankMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_MidlandBankMember" xlink:to="FSI_MidlandBankMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_MidlandBankMember_lbl" xml:lang="en-US">Midland Bank [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_NanoChemSolutionsIncMember" xlink:label="FSI_NanoChemSolutionsIncMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_NanoChemSolutionsIncMember" xlink:to="FSI_NanoChemSolutionsIncMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="FSI_NanoChemSolutionsIncMember_lbl" xml:lang="en-US">NanoChem Solutions Inc [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_VariableRateAxis" xlink:label="us-gaap_VariableRateAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_VariableRateAxis" xlink:to="us-gaap_VariableRateAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_VariableRateAxis_lbl" xml:lang="en-US">Variable Rate [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PrimeRateMember" xlink:label="us-gaap_PrimeRateMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PrimeRateMember" xlink:to="us-gaap_PrimeRateMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PrimeRateMember_lbl" xml:lang="en-US">Prime Rate [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_ENPMendotaMember" xlink:label="FSI_ENPMendotaMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_ENPMendotaMember" xlink:to="FSI_ENPMendotaMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_ENPMendotaMember_lbl" xml:lang="en-US">ENP Mendota, LLC [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_StockYardsBankTrustMember" xlink:label="FSI_StockYardsBankTrustMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_StockYardsBankTrustMember" xlink:to="FSI_StockYardsBankTrustMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_StockYardsBankTrustMember_lbl" xml:lang="en-US">Stock Yards Bank &amp; Trust [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_EnpRealtyLLCMember" xlink:label="FSI_EnpRealtyLLCMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_EnpRealtyLLCMember" xlink:to="FSI_EnpRealtyLLCMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_EnpRealtyLLCMember_lbl" xml:lang="en-US">ENP Realty LLC [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_ENPPeruOneMember" xlink:label="FSI_ENPPeruOneMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_ENPPeruOneMember" xlink:to="FSI_ENPPeruOneMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_ENPPeruOneMember_lbl" xml:lang="en-US">ENP Peru One [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_ENPPeruInvestmentsMember" xlink:label="FSI_ENPPeruInvestmentsMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_ENPPeruInvestmentsMember" xlink:to="FSI_ENPPeruInvestmentsMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_ENPPeruInvestmentsMember_lbl" xml:lang="en-US">ENP Peru Investments [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_MendotaMember" xlink:label="FSI_MendotaMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_MendotaMember" xlink:to="FSI_MendotaMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_MendotaMember_lbl" xml:lang="en-US">Mendota [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_MidlandStatesBankOneMember" xlink:label="FSI_MidlandStatesBankOneMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_MidlandStatesBankOneMember" xlink:to="FSI_MidlandStatesBankOneMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_MidlandStatesBankOneMember_lbl" xml:lang="en-US">Midland States Bank One [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_StockYardsBankTrustOneMember" xlink:label="FSI_StockYardsBankTrustOneMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_StockYardsBankTrustOneMember" xlink:to="FSI_StockYardsBankTrustOneMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_StockYardsBankTrustOneMember_lbl" xml:lang="en-US">Stock Yards Bank Trust One [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_StockYardsBankTrustTwoMember" xlink:label="FSI_StockYardsBankTrustTwoMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_StockYardsBankTrustTwoMember" xlink:to="FSI_StockYardsBankTrustTwoMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_StockYardsBankTrustTwoMember_lbl" xml:lang="en-US">Stock Yards Bank Trust Two [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_StockYardsBankTrustThreeMember" xlink:label="FSI_StockYardsBankTrustThreeMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_StockYardsBankTrustThreeMember" xlink:to="FSI_StockYardsBankTrustThreeMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_StockYardsBankTrustThreeMember_lbl" xml:lang="en-US">Stock Yards Bank Trust Three [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_StockYardsBankTrustFourMember" xlink:label="FSI_StockYardsBankTrustFourMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_StockYardsBankTrustFourMember" xlink:to="FSI_StockYardsBankTrustFourMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_StockYardsBankTrustFourMember_lbl" xml:lang="en-US">Stock Yards Bank Trust Four [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_StockYardsBankTrustFiveMember" xlink:label="FSI_StockYardsBankTrustFiveMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_StockYardsBankTrustFiveMember" xlink:to="FSI_StockYardsBankTrustFiveMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_StockYardsBankTrustFiveMember_lbl" xml:lang="en-US">Stock Yards Bank Trust Five [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.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="fsi-20230630.xsd#FSI_ConsultantsMember" xlink:label="FSI_ConsultantsMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_ConsultantsMember" xlink:to="FSI_ConsultantsMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_ConsultantsMember_lbl" xml:lang="en-US">Consultants [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_EmployeesMember" xlink:label="FSI_EmployeesMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_EmployeesMember" xlink:to="FSI_EmployeesMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_EmployeesMember_lbl" xml:lang="en-US">Employees [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_ConsultantMember" xlink:label="FSI_ConsultantMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_ConsultantMember" xlink:to="FSI_ConsultantMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_ConsultantMember_lbl" xml:lang="en-US">Consultant [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxAuthorityNameAxis" xlink:label="us-gaap_IncomeTaxAuthorityNameAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxAuthorityNameAxis" xlink:to="us-gaap_IncomeTaxAuthorityNameAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeTaxAuthorityNameAxis_lbl" xml:lang="en-US">Income Tax Authority, Name [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CanadaRevenueAgencyMember" xlink:label="us-gaap_CanadaRevenueAgencyMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CanadaRevenueAgencyMember" xlink:to="us-gaap_CanadaRevenueAgencyMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CanadaRevenueAgencyMember_lbl" xml:lang="en-US">Canada Revenue Agency [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.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/2023/elts/srt-2023.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/2023/elts/srt-2023.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="fsi-20230630.xsd#FSI_EmployeeMember" xlink:label="FSI_EmployeeMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_EmployeeMember" xlink:to="FSI_EmployeeMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_EmployeeMember_lbl" xml:lang="en-US">Employee [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_OwnershipInterestPurchaseAgreementMember" xlink:label="FSI_OwnershipInterestPurchaseAgreementMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_OwnershipInterestPurchaseAgreementMember" xlink:to="FSI_OwnershipInterestPurchaseAgreementMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_OwnershipInterestPurchaseAgreementMember_lbl" xml:lang="en-US">Ownership Interest Purchase Agreement [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.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="fsi-20230630.xsd#FSI_ThreeCustomersMember" xlink:label="FSI_ThreeCustomersMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_ThreeCustomersMember" xlink:to="FSI_ThreeCustomersMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_ThreeCustomersMember_lbl" xml:lang="en-US">Three Customers [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_EWCPMember" xlink:label="FSI_EWCPMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_EWCPMember" xlink:to="FSI_EWCPMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_EWCPMember_lbl" xml:lang="en-US">EWCP [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementBusinessSegmentsAxis" xlink:label="us-gaap_StatementBusinessSegmentsAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementBusinessSegmentsAxis" xlink:to="us-gaap_StatementBusinessSegmentsAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StatementBusinessSegmentsAxis_lbl" xml:lang="en-US">Segments [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_SegmentMember" xlink:label="FSI_SegmentMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_SegmentMember" xlink:to="FSI_SegmentMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_SegmentMember_lbl" xml:lang="en-US">Segment [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_TPAMember" xlink:label="FSI_TPAMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_TPAMember" xlink:to="FSI_TPAMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_TPAMember_lbl" xml:lang="en-US">TPA [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.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.sec.gov/country/2023/country-2023.xsd#country_CA" xlink:label="country_CA" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="country_CA" xlink:to="country_CA_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="country_CA_lbl" xml:lang="en-US">CANADA</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_UnitedStatesandAbroadMember" xlink:label="FSI_UnitedStatesandAbroadMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_UnitedStatesandAbroadMember" xlink:to="FSI_UnitedStatesandAbroadMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_UnitedStatesandAbroadMember_lbl" xml:lang="en-US">United Statesand Abroad [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_US" xlink:label="country_US" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="country_US" xlink:to="country_US_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="country_US_lbl" xml:lang="en-US">UNITED STATES</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_DepositsAssetsCurrent" xlink:label="us-gaap_DepositsAssetsCurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DepositsAssetsCurrent" xlink:to="us-gaap_DepositsAssetsCurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DepositsAssetsCurrent_lbl" xml:lang="en-US">Term deposits</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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 (Note 4)</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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">Inventories (Note 5)</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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, equipment and leaseholds, net (Note 6)</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseRightOfUseAsset" xlink:label="us-gaap_OperatingLeaseRightOfUseAsset" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseRightOfUseAsset" xlink:to="us-gaap_OperatingLeaseRightOfUseAsset_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingLeaseRightOfUseAsset_lbl" xml:lang="en-US">Right of use assets (Note 3)</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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 (Note 8)</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DepositsAssetsNoncurrent" xlink:label="us-gaap_DepositsAssetsNoncurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DepositsAssetsNoncurrent" xlink:to="us-gaap_DepositsAssetsNoncurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DepositsAssetsNoncurrent_lbl" xml:lang="en-US">Long term deposits (Note 9)</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityMethodInvestments" xlink:label="us-gaap_EquityMethodInvestments" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EquityMethodInvestments" xlink:to="us-gaap_EquityMethodInvestments_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EquityMethodInvestments_lbl" xml:lang="en-US">Investments (Note 10)</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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 (Note 8)</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesAbstract" xlink:label="us-gaap_LiabilitiesAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilitiesAbstract" xlink:to="us-gaap_LiabilitiesAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LiabilitiesAbstract_lbl" xml:lang="en-US">Liabilities</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/verboseLabel" xlink:label="us-gaap_LiabilitiesCurrentAbstract_lbl" xml:lang="en-US">Current</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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 liabilities</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredRevenueCurrent" xlink:label="us-gaap_DeferredRevenueCurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredRevenueCurrent" xlink:to="us-gaap_DeferredRevenueCurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredRevenueCurrent_lbl" xml:lang="en-US">Deferred revenue</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_LinesOfCreditCurrent" xlink:label="us-gaap_LinesOfCreditCurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LinesOfCreditCurrent" xlink:to="us-gaap_LinesOfCreditCurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LinesOfCreditCurrent_lbl" xml:lang="en-US">Short term line of credit (Note 11)</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiabilityCurrent" xlink:label="us-gaap_OperatingLeaseLiabilityCurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseLiabilityCurrent" xlink:to="us-gaap_OperatingLeaseLiabilityCurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingLeaseLiabilityCurrent_lbl" xml:lang="en-US">Current portion of lease liability (Note 3)</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongTermDebtCurrent" xlink:label="us-gaap_LongTermDebtCurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongTermDebtCurrent" xlink:to="us-gaap_LongTermDebtCurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LongTermDebtCurrent_lbl" xml:lang="en-US">Current portion of long term debt (Note 12)</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:to="us-gaap_OperatingLeaseLiabilityNoncurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrent_lbl" xml:lang="en-US">Lease liability (Note 3)</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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 income tax liability</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongTermDebtNoncurrent" xlink:label="us-gaap_LongTermDebtNoncurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongTermDebtNoncurrent" xlink:to="us-gaap_LongTermDebtNoncurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LongTermDebtNoncurrent_lbl" xml:lang="en-US">Long term debt (Note 12)</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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">Authorized: 50,000,000 common shares with a par value of $0.001 each; 1,000,000 preferred shares with a par value of $0.01 each 12,435,532 (December 31, 2022: 12,426,260) common shares</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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">Capital in excess of par value</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_lbl" xml:lang="en-US">Other comprehensive loss</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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 &#8211; controlling interest</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MinorityInterest" xlink:label="us-gaap_MinorityInterest" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_MinorityInterest" xlink:to="us-gaap_MinorityInterest_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_MinorityInterest_lbl" xml:lang="en-US">Non-controlling interests (Note 15)</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" xlink:label="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" xlink:to="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_lbl" xml:lang="en-US">Total Stockholders&#8217; Equity</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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">Preferred stock, shares authorized</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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">Preferred stock, par value</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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">Sales</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CostOfGoodsAndServicesSold" xlink:label="us-gaap_CostOfGoodsAndServicesSold" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CostOfGoodsAndServicesSold" xlink:to="us-gaap_CostOfGoodsAndServicesSold_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CostOfGoodsAndServicesSold_lbl" xml:lang="en-US">Cost of sales</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_SalariesAndWages" xlink:label="us-gaap_SalariesAndWages" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SalariesAndWages" xlink:to="us-gaap_SalariesAndWages_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SalariesAndWages_lbl" xml:lang="en-US">Wages</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OfficersCompensation" xlink:label="us-gaap_OfficersCompensation" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OfficersCompensation" xlink:to="us-gaap_OfficersCompensation_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OfficersCompensation_lbl" xml:lang="en-US">Administrative salaries and benefits</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GeneralInsuranceExpense" xlink:label="us-gaap_GeneralInsuranceExpense" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GeneralInsuranceExpense" xlink:to="us-gaap_GeneralInsuranceExpense_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_GeneralInsuranceExpense_lbl" xml:lang="en-US">Insurance</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InterestExpense" xlink:label="us-gaap_InterestExpense" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InterestExpense" xlink:to="us-gaap_InterestExpense_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InterestExpense_lbl" xml:lang="en-US">Interest expense</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProfessionalFees" xlink:label="us-gaap_ProfessionalFees" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProfessionalFees" xlink:to="us-gaap_ProfessionalFees_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProfessionalFees_lbl" xml:lang="en-US">Professional fees</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherGeneralExpense" xlink:label="us-gaap_OtherGeneralExpense" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherGeneralExpense" xlink:to="us-gaap_OtherGeneralExpense_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherGeneralExpense_lbl" xml:lang="en-US">Office and miscellaneous</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_Consulting" xlink:label="FSI_Consulting" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_Consulting" xlink:to="FSI_Consulting_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_Consulting_lbl" xml:lang="en-US">Consulting</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TravelAndEntertainmentExpense" xlink:label="us-gaap_TravelAndEntertainmentExpense" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TravelAndEntertainmentExpense" xlink:to="us-gaap_TravelAndEntertainmentExpense_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_TravelAndEntertainmentExpense_lbl" xml:lang="en-US">Travel</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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">Advertising and promotion</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_InvestorRelationsAndTransferAgentFee" xlink:label="FSI_InvestorRelationsAndTransferAgentFee" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_InvestorRelationsAndTransferAgentFee" xlink:to="FSI_InvestorRelationsAndTransferAgentFee_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_InvestorRelationsAndTransferAgentFee_lbl" xml:lang="en-US">Investor relations and transfer agent fee</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseExpense" xlink:label="us-gaap_OperatingLeaseExpense" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseExpense" xlink:to="us-gaap_OperatingLeaseExpense_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingLeaseExpense_lbl" xml:lang="en-US">Lease expense</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ForeignCurrencyTransactionGainLossBeforeTax" xlink:label="us-gaap_ForeignCurrencyTransactionGainLossBeforeTax" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ForeignCurrencyTransactionGainLossBeforeTax" xlink:to="us-gaap_ForeignCurrencyTransactionGainLossBeforeTax_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_ForeignCurrencyTransactionGainLossBeforeTax_lbl" xml:lang="en-US">Currency exchange</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommunicationsAndInformationTechnology" xlink:label="us-gaap_CommunicationsAndInformationTechnology" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommunicationsAndInformationTechnology" xlink:to="us-gaap_CommunicationsAndInformationTechnology_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommunicationsAndInformationTechnology_lbl" xml:lang="en-US">Telecommunications</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UtilitiesOperatingExpense" xlink:label="us-gaap_UtilitiesOperatingExpense" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_UtilitiesOperatingExpense" xlink:to="us-gaap_UtilitiesOperatingExpense_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_UtilitiesOperatingExpense_lbl" xml:lang="en-US">Utilities</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_ShippingCost" xlink:label="FSI_ShippingCost" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_ShippingCost" xlink:to="FSI_ShippingCost_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_ShippingCost_lbl" xml:lang="en-US">Shipping</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_Commissions" xlink:label="FSI_Commissions" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_Commissions" xlink:to="FSI_Commissions_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_Commissions_lbl" xml:lang="en-US">Commissions</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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">Operating income</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_GainOnAcquisitionOfSubsidiaries" xlink:label="FSI_GainOnAcquisitionOfSubsidiaries" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_GainOnAcquisitionOfSubsidiaries" xlink:to="FSI_GainOnAcquisitionOfSubsidiaries_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_GainOnAcquisitionOfSubsidiaries_lbl" xml:lang="en-US">Gain on acquisition of ENP Peru</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GainLossOnInvestments" xlink:label="us-gaap_GainLossOnInvestments" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GainLossOnInvestments" xlink:to="us-gaap_GainLossOnInvestments_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_GainLossOnInvestments_lbl" xml:lang="en-US">Gain on investment</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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 tax</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredIncomeTaxesAndTaxCreditsAbstract" xlink:label="us-gaap_DeferredIncomeTaxesAndTaxCreditsAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredIncomeTaxesAndTaxCreditsAbstract" xlink:to="us-gaap_DeferredIncomeTaxesAndTaxCreditsAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredIncomeTaxesAndTaxCreditsAbstract_lbl" xml:lang="en-US">Income taxes</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2009/role/negatedLabel" xlink:label="us-gaap_IncomeTaxExpenseBenefit_lbl" xml:lang="en-US">Income tax expense</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProfitLoss" xlink:label="us-gaap_ProfitLoss" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProfitLoss" xlink:to="us-gaap_ProfitLoss_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_ProfitLoss_lbl" xml:lang="en-US">Net income for the period including non-controlling interests</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLossAttributableToNoncontrollingInterest" xlink:label="us-gaap_NetIncomeLossAttributableToNoncontrollingInterest" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetIncomeLossAttributableToNoncontrollingInterest" xlink:to="us-gaap_NetIncomeLossAttributableToNoncontrollingInterest_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_NetIncomeLossAttributableToNoncontrollingInterest_lbl" xml:lang="en-US">Less: Net income attributable to non-controlling interests</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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 attributable to controlling interest</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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">Income per share (basic)</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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">Income per share (diluted)</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/label" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_lbl" xml:lang="en-US">Weighted average number of common shares (basic)</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/label" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_lbl" xml:lang="en-US">Weighted average number of common shares (diluted)</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract" xlink:label="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract" xlink:to="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract_lbl" xml:lang="en-US">Other comprehensive income:</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProfitLoss" xlink:to="us-gaap_ProfitLoss_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProfitLoss_2_lbl" xml:lang="en-US">Net income</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:to="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_lbl" xml:lang="en-US">Unrealized gain (loss) on foreign currency translations</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest" xlink:label="us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest" xlink:to="us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest_lbl" xml:lang="en-US">Total comprehensive income</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest" xlink:label="us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest" xlink:to="us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest_lbl" xml:lang="en-US">Comprehensive income &#8211; non-controlling interest</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ComprehensiveIncomeNetOfTax" xlink:label="us-gaap_ComprehensiveIncomeNetOfTax" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ComprehensiveIncomeNetOfTax" xlink:to="us-gaap_ComprehensiveIncomeNetOfTax_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_ComprehensiveIncomeNetOfTax_lbl" xml:lang="en-US">Comprehensive income attributable to Flexible Solutions International Inc.</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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">Operating activities</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProfitLoss" xlink:to="us-gaap_ProfitLoss_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ProfitLoss_3_lbl" xml:lang="en-US">Net income for the period including non-controlling interest</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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 provided by operations:</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/label" xlink:label="us-gaap_ShareBasedCompensation_lbl" xml:lang="en-US">Stock based compensation</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DepreciationAndAmortization" xlink:label="us-gaap_DepreciationAndAmortization" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DepreciationAndAmortization" xlink:to="us-gaap_DepreciationAndAmortization_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DepreciationAndAmortization_lbl" xml:lang="en-US">Depreciation and amortization</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseRightOfUseAssetAmortization" xlink:label="us-gaap_FinanceLeaseRightOfUseAssetAmortization" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FinanceLeaseRightOfUseAssetAmortization" xlink:to="us-gaap_FinanceLeaseRightOfUseAssetAmortization_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FinanceLeaseRightOfUseAssetAmortization_lbl" xml:lang="en-US">Lease right of use amortization</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_LeaseRightOfUseFinancing" xlink:label="FSI_LeaseRightOfUseFinancing" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_LeaseRightOfUseFinancing" xlink:to="FSI_LeaseRightOfUseFinancing_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_LeaseRightOfUseFinancing_lbl" xml:lang="en-US">Lease right of use financing</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GainLossOnInvestments" xlink:to="us-gaap_GainLossOnInvestments_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_GainLossOnInvestments_2_lbl" xml:lang="en-US">Gain on investment</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_GainOnAcquisitionOfSubsidiaries" xlink:to="FSI_GainOnAcquisitionOfSubsidiaries_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="FSI_GainOnAcquisitionOfSubsidiaries_2_lbl" xml:lang="en-US">Gain on acquisition of ENP Peru</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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 non-cash working capital items:</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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">(Increase) Decrease in accounts receivable</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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">(Increase) Decrease in inventories</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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">(Increase) Decrease in prepaid expenses</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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">Increase (Decrease) in accounts payable and accrued liabilities</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/label" xlink:label="us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable_lbl" xml:lang="en-US">Increase (Decrease) in taxes payable</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/label" xlink:label="us-gaap_IncreaseDecreaseInContractWithCustomerLiability_lbl" xml:lang="en-US">Increase (Decrease) deferred revenue</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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">Cash provided by operating activities</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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">Investing activities</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_ProceedsFromNoncontrollingInterest" xlink:label="FSI_ProceedsFromNoncontrollingInterest" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_ProceedsFromNoncontrollingInterest" xlink:to="FSI_ProceedsFromNoncontrollingInterest_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_ProceedsFromNoncontrollingInterest_lbl" xml:lang="en-US">Non-controlling interest of 317 Mendota</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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">Acquisition of ENP Peru</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToAcquireInvestments" xlink:label="us-gaap_PaymentsToAcquireInvestments" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsToAcquireInvestments" xlink:to="us-gaap_PaymentsToAcquireInvestments_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_PaymentsToAcquireInvestments_lbl" xml:lang="en-US">Additional investment in Trio</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromSaleOfEquityMethodInvestments" xlink:label="us-gaap_ProceedsFromSaleOfEquityMethodInvestments" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProceedsFromSaleOfEquityMethodInvestments" xlink:to="us-gaap_ProceedsFromSaleOfEquityMethodInvestments_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProceedsFromSaleOfEquityMethodInvestments_lbl" xml:lang="en-US">Proceeds of equity method investment distributions</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_DepositsOnPurchasesOfEquipment" xlink:label="FSI_DepositsOnPurchasesOfEquipment" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_DepositsOnPurchasesOfEquipment" xlink:to="FSI_DepositsOnPurchasesOfEquipment_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="FSI_DepositsOnPurchasesOfEquipment_lbl" xml:lang="en-US">Deposits on purchases of equipment</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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">Net purchase of property, equipment and leaseholds</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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">Cash (used in) investing activities</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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">Financing activities</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RepaymentsOfShortTermDebt" xlink:label="us-gaap_RepaymentsOfShortTermDebt" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RepaymentsOfShortTermDebt" xlink:to="us-gaap_RepaymentsOfShortTermDebt_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_RepaymentsOfShortTermDebt_lbl" xml:lang="en-US">Repayment of short term line of credit</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RepaymentsOfLongTermDebt" xlink:label="us-gaap_RepaymentsOfLongTermDebt" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RepaymentsOfLongTermDebt" xlink:to="us-gaap_RepaymentsOfLongTermDebt_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_RepaymentsOfLongTermDebt_lbl" xml:lang="en-US">Repayment of long term debt</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromIssuanceOfLongTermDebt" xlink:label="us-gaap_ProceedsFromIssuanceOfLongTermDebt" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProceedsFromIssuanceOfLongTermDebt" xlink:to="us-gaap_ProceedsFromIssuanceOfLongTermDebt_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProceedsFromIssuanceOfLongTermDebt_lbl" xml:lang="en-US">Proceeds from loans</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsOfDividends" xlink:label="us-gaap_PaymentsOfDividends" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsOfDividends" xlink:to="us-gaap_PaymentsOfDividends_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_PaymentsOfDividends_lbl" xml:lang="en-US">Dividends paid</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsOfFinancingCosts" xlink:label="us-gaap_PaymentsOfFinancingCosts" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsOfFinancingCosts" xlink:to="us-gaap_PaymentsOfFinancingCosts_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_PaymentsOfFinancingCosts_lbl" xml:lang="en-US">Lease financing costs</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToMinorityShareholders" xlink:label="us-gaap_PaymentsToMinorityShareholders" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsToMinorityShareholders" xlink:to="us-gaap_PaymentsToMinorityShareholders_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_PaymentsToMinorityShareholders_lbl" xml:lang="en-US">Distributions to non-controlling interest</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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 of issuance of common stock</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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">Cash (used in) financing activities</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:label="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:to="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations_lbl" xml:lang="en-US">Effect of exchange rate changes on cash</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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">Inflow (outflow) of cash</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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, beginning</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 resources</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsAbstract" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsAbstract" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsAbstract_lbl" xml:lang="en-US">Cash and cash equivalents are comprised of:</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashEquivalentsAtCarryingValue" xlink:label="us-gaap_CashEquivalentsAtCarryingValue" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashEquivalentsAtCarryingValue" xlink:to="us-gaap_CashEquivalentsAtCarryingValue_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_CashEquivalentsAtCarryingValue_lbl" xml:lang="en-US">Cash and cash equivalents</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShortTermInvestments" xlink:label="us-gaap_ShortTermInvestments" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShortTermInvestments" xlink:to="us-gaap_ShortTermInvestments_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_ShortTermInvestments_lbl" xml:lang="en-US">Term deposits</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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="fsi-20230630.xsd#FSI_InventoryAdditionsInAccountsPayable" xlink:label="FSI_InventoryAdditionsInAccountsPayable" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_InventoryAdditionsInAccountsPayable" xlink:to="FSI_InventoryAdditionsInAccountsPayable_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_InventoryAdditionsInAccountsPayable_lbl" xml:lang="en-US">Inventory additions in accounts payable</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" xlink:to="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_2_lbl" xml:lang="en-US">Balance</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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">Balance, shares</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" xlink:label="us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" xlink:to="us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent_lbl" xml:lang="en-US">Translation adjustment</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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">Common stock issued</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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">Common stock issued, shares</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:label="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:to="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_lbl" xml:lang="en-US">Stock-based compensation</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Dividends" xlink:label="us-gaap_Dividends" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Dividends" xlink:to="us-gaap_Dividends_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_Dividends_lbl" xml:lang="en-US">Dividends paid</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NoncontrollingInterestIncreaseFromBusinessCombination" xlink:label="us-gaap_NoncontrollingInterestIncreaseFromBusinessCombination" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NoncontrollingInterestIncreaseFromBusinessCombination" xlink:to="us-gaap_NoncontrollingInterestIncreaseFromBusinessCombination_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NoncontrollingInterestIncreaseFromBusinessCombination_lbl" xml:lang="en-US">Non-controlling interest of 317 Mendota LLC</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders" xlink:label="us-gaap_MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders" xlink:to="us-gaap_MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders_lbl" xml:lang="en-US">Distributions to noncontrolling interests</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" xlink:to="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_3_lbl" xml:lang="en-US">Balance</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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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">BASIS OF PRESENTATION</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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">SIGNIFICANT ACCOUNTING POLICIES</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_DisclosureLeases.Abstract" xlink:label="FSI_DisclosureLeases.Abstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_DisclosureLeases.Abstract" xlink:to="FSI_DisclosureLeases.Abstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_DisclosureLeases.Abstract_lbl" xml:lang="en-US">Leases.</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeasesTextBlock" xlink:label="us-gaap_LesseeOperatingLeasesTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeasesTextBlock" xlink:to="us-gaap_LesseeOperatingLeasesTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LesseeOperatingLeasesTextBlock_lbl" xml:lang="en-US">LEASES.</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ReceivablesAbstract" xlink:label="us-gaap_ReceivablesAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ReceivablesAbstract" xlink:to="us-gaap_ReceivablesAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ReceivablesAbstract_lbl" xml:lang="en-US">Receivables [Abstract]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinancingReceivablesTextBlock" xlink:label="us-gaap_FinancingReceivablesTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FinancingReceivablesTextBlock" xlink:to="us-gaap_FinancingReceivablesTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FinancingReceivablesTextBlock_lbl" xml:lang="en-US">ACCOUNTS RECEIVABLE.</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryDisclosureAbstract" xlink:label="us-gaap_InventoryDisclosureAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryDisclosureAbstract" xlink:to="us-gaap_InventoryDisclosureAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InventoryDisclosureAbstract_lbl" xml:lang="en-US">Inventory Disclosure [Abstract]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryDisclosureTextBlock" xlink:label="us-gaap_InventoryDisclosureTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryDisclosureTextBlock" xlink:to="us-gaap_InventoryDisclosureTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InventoryDisclosureTextBlock_lbl" xml:lang="en-US">INVENTORIES.</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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, EQUIPMENT &amp; LEASEHOLDS.</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_IntangibleAssetsDisclosureTextBlock" xlink:label="us-gaap_IntangibleAssetsDisclosureTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IntangibleAssetsDisclosureTextBlock" xlink:to="us-gaap_IntangibleAssetsDisclosureTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IntangibleAssetsDisclosureTextBlock_lbl" xml:lang="en-US">PATENTS.</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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 INDEFINITE LIVED INTANGIBLE ASSETS.</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_DisclosureLongTermDeposits.Abstract" xlink:label="FSI_DisclosureLongTermDeposits.Abstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_DisclosureLongTermDeposits.Abstract" xlink:to="FSI_DisclosureLongTermDeposits.Abstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_DisclosureLongTermDeposits.Abstract_lbl" xml:lang="en-US">Long Term Deposits.</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_LongTermDepositsTextBlock" xlink:label="FSI_LongTermDepositsTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_LongTermDepositsTextBlock" xlink:to="FSI_LongTermDepositsTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_LongTermDepositsTextBlock_lbl" xml:lang="en-US">LONG TERM DEPOSITS.</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityMethodInvestmentsAndJointVenturesAbstract" xlink:label="us-gaap_EquityMethodInvestmentsAndJointVenturesAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EquityMethodInvestmentsAndJointVenturesAbstract" xlink:to="us-gaap_EquityMethodInvestmentsAndJointVenturesAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EquityMethodInvestmentsAndJointVenturesAbstract_lbl" xml:lang="en-US">Equity Method Investments and Joint Ventures [Abstract]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityMethodInvestmentsDisclosureTextBlock" xlink:label="us-gaap_EquityMethodInvestmentsDisclosureTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EquityMethodInvestmentsDisclosureTextBlock" xlink:to="us-gaap_EquityMethodInvestmentsDisclosureTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EquityMethodInvestmentsDisclosureTextBlock_lbl" xml:lang="en-US">INVESTMENTS.</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtDisclosureAbstract" xlink:label="us-gaap_DebtDisclosureAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtDisclosureAbstract" xlink:to="us-gaap_DebtDisclosureAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DebtDisclosureAbstract_lbl" xml:lang="en-US">Debt Disclosure [Abstract]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShortTermDebtTextBlock" xlink:label="us-gaap_ShortTermDebtTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShortTermDebtTextBlock" xlink:to="us-gaap_ShortTermDebtTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShortTermDebtTextBlock_lbl" xml:lang="en-US">SHORT-TERM LINE OF CREDIT.</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongTermDebtTextBlock" xlink:label="us-gaap_LongTermDebtTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongTermDebtTextBlock" xlink:to="us-gaap_LongTermDebtTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LongTermDebtTextBlock_lbl" xml:lang="en-US">LONG TERM DEBT.</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:to="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock_lbl" xml:lang="en-US">STOCK OPTIONS.</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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">CAPITAL STOCK</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NoncontrollingInterestAbstract" xlink:label="us-gaap_NoncontrollingInterestAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NoncontrollingInterestAbstract" xlink:to="us-gaap_NoncontrollingInterestAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NoncontrollingInterestAbstract_lbl" xml:lang="en-US">Noncontrolling Interest [Abstract]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MinorityInterestDisclosureTextBlock" xlink:label="us-gaap_MinorityInterestDisclosureTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_MinorityInterestDisclosureTextBlock" xlink:to="us-gaap_MinorityInterestDisclosureTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_MinorityInterestDisclosureTextBlock_lbl" xml:lang="en-US">NON-CONTROLLING INTERESTS</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentReportingAbstract" xlink:label="us-gaap_SegmentReportingAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SegmentReportingAbstract" xlink:to="us-gaap_SegmentReportingAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SegmentReportingAbstract_lbl" xml:lang="en-US">Segment Reporting [Abstract]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentReportingDisclosureTextBlock" xlink:label="us-gaap_SegmentReportingDisclosureTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SegmentReportingDisclosureTextBlock" xlink:to="us-gaap_SegmentReportingDisclosureTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SegmentReportingDisclosureTextBlock_lbl" xml:lang="en-US">SEGMENTED, SIGNIFICANT CUSTOMER INFORMATION AND ECONOMIC DEPENDENCY</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_DisclosureComparativeFiguresAbstract" xlink:label="FSI_DisclosureComparativeFiguresAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_DisclosureComparativeFiguresAbstract" xlink:to="FSI_DisclosureComparativeFiguresAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_DisclosureComparativeFiguresAbstract_lbl" xml:lang="en-US">Comparative Figures</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_ComparativeFiguresTextBlock" xlink:label="FSI_ComparativeFiguresTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_ComparativeFiguresTextBlock" xlink:to="FSI_ComparativeFiguresTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_ComparativeFiguresTextBlock_lbl" xml:lang="en-US">COMPARATIVE FIGURES</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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="fsi-20230630.xsd#FSI_TermDepositsPolicyTextBlock" xlink:label="FSI_TermDepositsPolicyTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_TermDepositsPolicyTextBlock" xlink:to="FSI_TermDepositsPolicyTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_TermDepositsPolicyTextBlock_lbl" xml:lang="en-US">Term Deposits</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/label" xlink:label="us-gaap_InventoryPolicyTextBlock_lbl" xml:lang="en-US">Inventories and Cost of Sales.</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PremiumsReceivableAllowanceForDoubtfulAccountsEstimationMethodologyPolicy" xlink:label="us-gaap_PremiumsReceivableAllowanceForDoubtfulAccountsEstimationMethodologyPolicy" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PremiumsReceivableAllowanceForDoubtfulAccountsEstimationMethodologyPolicy" xlink:to="us-gaap_PremiumsReceivableAllowanceForDoubtfulAccountsEstimationMethodologyPolicy_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PremiumsReceivableAllowanceForDoubtfulAccountsEstimationMethodologyPolicy_lbl" xml:lang="en-US">Allowance for Doubtful Accounts.</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/label" xlink:label="us-gaap_PropertyPlantAndEquipmentPolicyTextBlock_lbl" xml:lang="en-US">Property, Equipment, Leaseholds and Intangible Assets</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock" xlink:label="us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock" xlink:to="us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock_lbl" xml:lang="en-US">Impairment of Long-Lived Assets</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock" xlink:label="us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock" xlink:to="us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock_lbl" xml:lang="en-US">Foreign Currency</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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">Revenue Recognition.</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_StockIssuedInExchangeForServicesPolicyTextBlock" xlink:label="FSI_StockIssuedInExchangeForServicesPolicyTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_StockIssuedInExchangeForServicesPolicyTextBlock" xlink:to="FSI_StockIssuedInExchangeForServicesPolicyTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_StockIssuedInExchangeForServicesPolicyTextBlock_lbl" xml:lang="en-US">Stock Issued in Exchange for Services</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CompensationRelatedCostsPolicyTextBlock" xlink:label="us-gaap_CompensationRelatedCostsPolicyTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CompensationRelatedCostsPolicyTextBlock" xlink:to="us-gaap_CompensationRelatedCostsPolicyTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CompensationRelatedCostsPolicyTextBlock_lbl" xml:lang="en-US">Stock-based Compensation</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ComprehensiveIncomePolicyPolicyTextBlock" xlink:label="us-gaap_ComprehensiveIncomePolicyPolicyTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ComprehensiveIncomePolicyPolicyTextBlock" xlink:to="us-gaap_ComprehensiveIncomePolicyPolicyTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ComprehensiveIncomePolicyPolicyTextBlock_lbl" xml:lang="en-US">Other Comprehensive Income.</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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">Income Per Share</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UseOfEstimates" xlink:label="us-gaap_UseOfEstimates" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_UseOfEstimates" xlink:to="us-gaap_UseOfEstimates_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_UseOfEstimates_lbl" xml:lang="en-US">Use of Estimates.</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueOfFinancialInstrumentsPolicy" xlink:label="us-gaap_FairValueOfFinancialInstrumentsPolicy" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueOfFinancialInstrumentsPolicy" xlink:to="us-gaap_FairValueOfFinancialInstrumentsPolicy_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FairValueOfFinancialInstrumentsPolicy_lbl" xml:lang="en-US">Fair Value of Financial Instruments</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommitmentsAndContingenciesPolicyTextBlock" xlink:label="us-gaap_CommitmentsAndContingenciesPolicyTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommitmentsAndContingenciesPolicyTextBlock" xlink:to="us-gaap_CommitmentsAndContingenciesPolicyTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommitmentsAndContingenciesPolicyTextBlock_lbl" xml:lang="en-US">Contingencies</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/label" 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/2023/elts/us-gaap-2023.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">Risk Management.</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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 Investment.</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock" xlink:label="us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock" xlink:to="us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock_lbl" xml:lang="en-US">Goodwill and Intangible Assets</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock" xlink:label="us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock" xlink:to="us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock_lbl" xml:lang="en-US">Recent Accounting Pronouncements.</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_ScheduleOfMethodOfDepreciationTableTextBlock" xlink:label="FSI_ScheduleOfMethodOfDepreciationTableTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_ScheduleOfMethodOfDepreciationTableTextBlock" xlink:to="FSI_ScheduleOfMethodOfDepreciationTableTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_ScheduleOfMethodOfDepreciationTableTextBlock_lbl" xml:lang="en-US">SCHEDULE OF METHOD OF DEPRECIATION</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_SummaryOfRightofuseAssetAndLeaseLiabilityTableTextBlock" xlink:label="FSI_SummaryOfRightofuseAssetAndLeaseLiabilityTableTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_SummaryOfRightofuseAssetAndLeaseLiabilityTableTextBlock" xlink:to="FSI_SummaryOfRightofuseAssetAndLeaseLiabilityTableTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_SummaryOfRightofuseAssetAndLeaseLiabilityTableTextBlock_lbl" xml:lang="en-US">SUMMARY OF RIGHT-OF-USE ASSET AND LEASE LIABILITY</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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 UNDISCOUNTED RENT PAYMENTS</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock" xlink:label="us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock" xlink:to="us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock_lbl" xml:lang="en-US">SCHEDULE OF ACCOUNTS RECEIVABLE</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfInventoryCurrentTableTextBlock" xlink:label="us-gaap_ScheduleOfInventoryCurrentTableTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfInventoryCurrentTableTextBlock" xlink:to="us-gaap_ScheduleOfInventoryCurrentTableTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfInventoryCurrentTableTextBlock_lbl" xml:lang="en-US">SCHEDULE OF INVENTORY</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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, EQUIPMENT AND LEASEHOLDS</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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 PATENTS</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfIntangibleAssetsAndGoodwillTableTextBlock" xlink:label="us-gaap_ScheduleOfIntangibleAssetsAndGoodwillTableTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfIntangibleAssetsAndGoodwillTableTextBlock" xlink:to="us-gaap_ScheduleOfIntangibleAssetsAndGoodwillTableTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfIntangibleAssetsAndGoodwillTableTextBlock_lbl" xml:lang="en-US">SCHEDULE OF GOODWILL AND INDEFINITE LIVED INTANGIBLE ASSETS</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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 ESTIMATED FUTURE AMORTIZATION EXPENSE</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_ScheduleOfLongTermDepositsTableTextBlock" xlink:label="FSI_ScheduleOfLongTermDepositsTableTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_ScheduleOfLongTermDepositsTableTextBlock" xlink:to="FSI_ScheduleOfLongTermDepositsTableTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_ScheduleOfLongTermDepositsTableTextBlock_lbl" xml:lang="en-US">SCHEDULE OF LONG TERM DEPOSITS</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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 FAIR VALUES OF THE ASSETS ACQUIRED AND LIABILITIES ASSUMED</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityMethodInvestmentsTextBlock" xlink:label="us-gaap_EquityMethodInvestmentsTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EquityMethodInvestmentsTextBlock" xlink:to="us-gaap_EquityMethodInvestmentsTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EquityMethodInvestmentsTextBlock_lbl" xml:lang="en-US">SCHEDULE OF EQUITY METHOD INVESTMENT</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GainLossOnInvestmentsTextBlock" xlink:label="us-gaap_GainLossOnInvestmentsTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GainLossOnInvestmentsTextBlock" xlink:to="us-gaap_GainLossOnInvestmentsTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_GainLossOnInvestmentsTextBlock_lbl" xml:lang="en-US">SUMMARY OF PROFIT AND LOSS INFORMATION RELATED TO EQUITY ACCOUNTED INVESTMENT</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_ScheduleOfLoanCovenantsTableTextBlock" xlink:label="FSI_ScheduleOfLoanCovenantsTableTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_ScheduleOfLoanCovenantsTableTextBlock" xlink:to="FSI_ScheduleOfLoanCovenantsTableTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_ScheduleOfLoanCovenantsTableTextBlock_lbl" xml:lang="en-US">SCHEDULE OF LOAN COVENANTS</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfDebtInstrumentsTextBlock" xlink:label="us-gaap_ScheduleOfDebtInstrumentsTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfDebtInstrumentsTextBlock" xlink:to="us-gaap_ScheduleOfDebtInstrumentsTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfDebtInstrumentsTextBlock_lbl" xml:lang="en-US">SCHEDULE OF OUTSTANDING BALANCE LOAN</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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 STOCK OPTION ACTIVITIES</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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 STOCK OPTION FAIR VALUE ASSUMPTIONS</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_ScheduleOfDistributionsTableTextBlock" xlink:label="FSI_ScheduleOfDistributionsTableTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_ScheduleOfDistributionsTableTextBlock" xlink:to="FSI_ScheduleOfDistributionsTableTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_ScheduleOfDistributionsTableTextBlock_lbl" xml:lang="en-US">SCHEDULE OF DISTRIBUTIONS</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_ScheduleOfNonControllingInterestRelatedToAcquisitionTableTextBlock" xlink:label="FSI_ScheduleOfNonControllingInterestRelatedToAcquisitionTableTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_ScheduleOfNonControllingInterestRelatedToAcquisitionTableTextBlock" xlink:to="FSI_ScheduleOfNonControllingInterestRelatedToAcquisitionTableTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_ScheduleOfNonControllingInterestRelatedToAcquisitionTableTextBlock_lbl" xml:lang="en-US">SCHEDULE OF NON CONTROLLING INTEREST RELATED TO ACQUISITION</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ReconciliationOfRevenueFromSegmentsToConsolidatedTextBlock" xlink:label="us-gaap_ReconciliationOfRevenueFromSegmentsToConsolidatedTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ReconciliationOfRevenueFromSegmentsToConsolidatedTextBlock" xlink:to="us-gaap_ReconciliationOfRevenueFromSegmentsToConsolidatedTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ReconciliationOfRevenueFromSegmentsToConsolidatedTextBlock_lbl" xml:lang="en-US">SCHEDULE OF REPORTABLE SEGMENTS</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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">SCHEDULE OF REVENUE GENERATED IN UNITED STATES AND CANADA</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock" xlink:label="us-gaap_ScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock" xlink:to="us-gaap_ScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock_lbl" xml:lang="en-US">SCHEDULE OF LONG-LIVED ASSETS ARE LOCATED IN CANADA AND UNITED STATES</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest" xlink:label="us-gaap_SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest" xlink:to="us-gaap_SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest_lbl" xml:lang="en-US">Subsidiary company ownership interest rate related party</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_IncreaseDecreaseInSharePercentage" xlink:label="FSI_IncreaseDecreaseInSharePercentage" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_IncreaseDecreaseInSharePercentage" xlink:to="FSI_IncreaseDecreaseInSharePercentage_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_IncreaseDecreaseInSharePercentage_lbl" xml:lang="en-US">Increase decrease in share percentage</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_RemainingInvestmentOwnedPercentage" xlink:label="FSI_RemainingInvestmentOwnedPercentage" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_RemainingInvestmentOwnedPercentage" xlink:to="FSI_RemainingInvestmentOwnedPercentage_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_RemainingInvestmentOwnedPercentage_lbl" xml:lang="en-US">Remaining investment owned percentage</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_DepreciationMethodUsedAndAnnualRate" xlink:label="FSI_DepreciationMethodUsedAndAnnualRate" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_DepreciationMethodUsedAndAnnualRate" xlink:to="FSI_DepreciationMethodUsedAndAnnualRate_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_DepreciationMethodUsedAndAnnualRate_lbl" xml:lang="en-US">Depreciation method used and annual rate</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_Deposits" xlink:label="us-gaap_Deposits" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Deposits" xlink:to="us-gaap_Deposits_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_Deposits_lbl" xml:lang="en-US">Deposit</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PercentageOfInterestBearingDomesticDepositsToDepositsTimeDeposits" xlink:label="us-gaap_PercentageOfInterestBearingDomesticDepositsToDepositsTimeDeposits" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PercentageOfInterestBearingDomesticDepositsToDepositsTimeDeposits" xlink:to="us-gaap_PercentageOfInterestBearingDomesticDepositsToDepositsTimeDeposits_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PercentageOfInterestBearingDomesticDepositsToDepositsTimeDeposits_lbl" xml:lang="en-US">Term deposits percent</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InterestPayableCurrentAndNoncurrent" xlink:label="us-gaap_InterestPayableCurrentAndNoncurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InterestPayableCurrentAndNoncurrent" xlink:to="us-gaap_InterestPayableCurrentAndNoncurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InterestPayableCurrentAndNoncurrent_lbl" xml:lang="en-US">Accured interest</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_OtherTermDeposit" xlink:label="FSI_OtherTermDeposit" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_OtherTermDeposit" xlink:to="FSI_OtherTermDeposit_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_OtherTermDeposit_lbl" xml:lang="en-US">Other term deposit</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:to="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_2_lbl" xml:lang="en-US">Sale</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_ConcentrationRiskThresholdPercentage" xlink:label="FSI_ConcentrationRiskThresholdPercentage" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_ConcentrationRiskThresholdPercentage" xlink:to="FSI_ConcentrationRiskThresholdPercentage_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_ConcentrationRiskThresholdPercentage_lbl" xml:lang="en-US">Accounts receivable, after allowance for credit loss, percentage</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityMethodInvestmentDescriptionOfPrincipalActivities" xlink:label="us-gaap_EquityMethodInvestmentDescriptionOfPrincipalActivities" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EquityMethodInvestmentDescriptionOfPrincipalActivities" xlink:to="us-gaap_EquityMethodInvestmentDescriptionOfPrincipalActivities_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EquityMethodInvestmentDescriptionOfPrincipalActivities_lbl" xml:lang="en-US">Equity method investment, description</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_DisclosureLeases.Abstract" xlink:to="FSI_DisclosureLeases.Abstract_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="FSI_DisclosureLeases.Abstract_2_lbl" xml:lang="en-US">Summary Of Right-of-use Asset And Lease Liability</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseRightOfUseAsset" xlink:to="us-gaap_OperatingLeaseRightOfUseAsset_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_OperatingLeaseRightOfUseAsset_2_lbl" xml:lang="en-US">Right of use assets, beginning balance</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense" xlink:label="us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense" xlink:to="us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense_lbl" xml:lang="en-US">Depreciation</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseRightOfUseAsset" xlink:to="us-gaap_OperatingLeaseRightOfUseAsset_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_OperatingLeaseRightOfUseAsset_3_lbl" xml:lang="en-US">Right of use assets, ending balance</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiability" xlink:label="us-gaap_OperatingLeaseLiability" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseLiability" xlink:to="us-gaap_OperatingLeaseLiability_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_OperatingLeaseLiability_lbl" xml:lang="en-US">Lease liability, beginning balance</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_LeaseInterestExpense" xlink:label="FSI_LeaseInterestExpense" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_LeaseInterestExpense" xlink:to="FSI_LeaseInterestExpense_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_LeaseInterestExpense_lbl" xml:lang="en-US">Lease interest expense</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeasePayments" xlink:label="us-gaap_OperatingLeasePayments" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeasePayments" xlink:to="us-gaap_OperatingLeasePayments_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_OperatingLeasePayments_lbl" xml:lang="en-US">Payments</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseLiability" xlink:to="us-gaap_OperatingLeaseLiability_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_OperatingLeaseLiability_2_lbl" xml:lang="en-US">Lease liability, ending balance</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseLiabilityCurrent" xlink:to="us-gaap_OperatingLeaseLiabilityCurrent_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_OperatingLeaseLiabilityCurrent_2_lbl" xml:lang="en-US">Short-term portion</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:to="us-gaap_OperatingLeaseLiabilityNoncurrent_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrent_2_lbl" xml:lang="en-US">Long-term portion</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseLiability" xlink:to="us-gaap_OperatingLeaseLiability_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingLeaseLiability_3_lbl" xml:lang="en-US">Total</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_DisclosureLeases.Abstract" xlink:to="FSI_DisclosureLeases.Abstract_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="FSI_DisclosureLeases.Abstract_3_lbl" xml:lang="en-US">Schedule Of Undiscounted Rent Payments</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear_lbl" xml:lang="en-US">2023</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/label" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_lbl" xml:lang="en-US">2024</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/label" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_lbl" xml:lang="en-US">2025</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_lbl" xml:lang="en-US">Impact of discounting</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseLiability" xlink:to="us-gaap_OperatingLeaseLiability_4_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_OperatingLeaseLiability_4_lbl" xml:lang="en-US">Lease liability, June 30, 2023</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseDiscountRate" xlink:label="us-gaap_LesseeOperatingLeaseDiscountRate" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseDiscountRate" xlink:to="us-gaap_LesseeOperatingLeaseDiscountRate_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LesseeOperatingLeaseDiscountRate_lbl" xml:lang="en-US">Operating leases discount rate</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsReceivableGross" xlink:label="us-gaap_AccountsReceivableGross" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsReceivableGross" xlink:to="us-gaap_AccountsReceivableGross_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccountsReceivableGross_lbl" xml:lang="en-US">Accounts receivable</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AllowanceForDoubtfulAccountsPremiumsAndOtherReceivables" xlink:label="us-gaap_AllowanceForDoubtfulAccountsPremiumsAndOtherReceivables" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AllowanceForDoubtfulAccountsPremiumsAndOtherReceivables" xlink:to="us-gaap_AllowanceForDoubtfulAccountsPremiumsAndOtherReceivables_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_AllowanceForDoubtfulAccountsPremiumsAndOtherReceivables_lbl" xml:lang="en-US">Allowances for doubtful accounts</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsAndNotesReceivableNet" xlink:label="us-gaap_AccountsAndNotesReceivableNet" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsAndNotesReceivableNet" xlink:to="us-gaap_AccountsAndNotesReceivableNet_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_AccountsAndNotesReceivableNet_lbl" xml:lang="en-US">Total accounts receivable</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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">Completed goods</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryRawMaterialsAndSupplies" xlink:label="us-gaap_InventoryRawMaterialsAndSupplies" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryRawMaterialsAndSupplies" xlink:to="us-gaap_InventoryRawMaterialsAndSupplies_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InventoryRawMaterialsAndSupplies_lbl" xml:lang="en-US">Raw materials and supplies</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryNet" xlink:to="us-gaap_InventoryNet_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_InventoryNet_2_lbl" xml:lang="en-US">Total inventory</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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">Cost</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2003/role/label" xlink:label="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_lbl" xml:lang="en-US">Accumulated Depreciation</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentNet" xlink:to="us-gaap_PropertyPlantAndEquipmentNet_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_PropertyPlantAndEquipmentNet_2_lbl" xml:lang="en-US">Property, plant and equipment, net, total</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Depreciation" xlink:label="us-gaap_Depreciation" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Depreciation" xlink:to="us-gaap_Depreciation_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_Depreciation_lbl" xml:lang="en-US">Depreciation</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedPatentsGross" xlink:label="us-gaap_FiniteLivedPatentsGross" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedPatentsGross" xlink:to="us-gaap_FiniteLivedPatentsGross_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedPatentsGross_lbl" xml:lang="en-US">Patents, cost</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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">Accumulated amortization</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsNet_lbl" xml:lang="en-US">Patents, net</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Goodwill" xlink:to="us-gaap_Goodwill_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_Goodwill_2_lbl" xml:lang="en-US">Goodwill</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IndefiniteLivedIntangibleAssetsExcludingGoodwill" xlink:label="us-gaap_IndefiniteLivedIntangibleAssetsExcludingGoodwill" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IndefiniteLivedIntangibleAssetsExcludingGoodwill" xlink:to="us-gaap_IndefiniteLivedIntangibleAssetsExcludingGoodwill_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IndefiniteLivedIntangibleAssetsExcludingGoodwill_lbl" xml:lang="en-US">Indefinite lived intangible assets, ending balance</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IndefiniteLivedIntangibleAssetsExcludingGoodwill" xlink:to="us-gaap_IndefiniteLivedIntangibleAssetsExcludingGoodwill_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_IndefiniteLivedIntangibleAssetsExcludingGoodwill_2_lbl" xml:lang="en-US">Indefinite lived intangible assets, beginning balance</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AmortizationOfIntangibleAssets" xlink:label="us-gaap_AmortizationOfIntangibleAssets" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AmortizationOfIntangibleAssets" xlink:to="us-gaap_AmortizationOfIntangibleAssets_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AmortizationOfIntangibleAssets_lbl" xml:lang="en-US">Amortization</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IndefiniteLivedIntangibleAssetsExcludingGoodwill" xlink:to="us-gaap_IndefiniteLivedIntangibleAssetsExcludingGoodwill_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_IndefiniteLivedIntangibleAssetsExcludingGoodwill_3_lbl" xml:lang="en-US">Indefinite lived intangible assets, ending balance</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ImpairmentEffectsOnEarningsPerShareTable" xlink:label="us-gaap_ImpairmentEffectsOnEarningsPerShareTable" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ImpairmentEffectsOnEarningsPerShareTable" xlink:to="us-gaap_ImpairmentEffectsOnEarningsPerShareTable_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ImpairmentEffectsOnEarningsPerShareTable_lbl" xml:lang="en-US">Impairment Effects on Earnings Per Share [Table]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ImpairmentEffectsOnEarningsPerShareLineItems" xlink:label="us-gaap_ImpairmentEffectsOnEarningsPerShareLineItems" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ImpairmentEffectsOnEarningsPerShareLineItems" xlink:to="us-gaap_ImpairmentEffectsOnEarningsPerShareLineItems_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ImpairmentEffectsOnEarningsPerShareLineItems_lbl" xml:lang="en-US">Impairment Effects on Earnings Per Share [Line Items]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear_lbl" xml:lang="en-US">2023</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/verboseLabel" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_lbl" xml:lang="en-US">2024</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/verboseLabel" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_lbl" xml:lang="en-US">2025</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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">2026</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_lbl" xml:lang="en-US">2027</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AmortizationOfIntangibleAssets" xlink:to="us-gaap_AmortizationOfIntangibleAssets_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_AmortizationOfIntangibleAssets_2_lbl" xml:lang="en-US">Amortization of intangible assets</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_DisclosureLongTermDeposits.Abstract" xlink:to="FSI_DisclosureLongTermDeposits.Abstract_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="FSI_DisclosureLongTermDeposits.Abstract_2_lbl" xml:lang="en-US">Schedule Of Long Term Deposits</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DepositsAssetsNoncurrent" xlink:to="us-gaap_DepositsAssetsNoncurrent_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_DepositsAssetsNoncurrent_2_lbl" xml:lang="en-US">Long term deposits</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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">Purchase consideration</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/periodEndLabel" 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/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedBuildings" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedBuildings" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedBuildings" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedBuildings_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedBuildings_lbl" xml:lang="en-US">Building</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLand" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLand" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLand" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLand_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLand_lbl" xml:lang="en-US">Land</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/negatedPeriodEndLabel" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities_lbl" xml:lang="en-US">Deferred tax liability</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLongTermDebt" xlink:label="FSI_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLongTermDebt" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLongTermDebt" xlink:to="FSI_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLongTermDebt_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="FSI_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLongTermDebt_lbl" xml:lang="en-US">Long term debt</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets_lbl" xml:lang="en-US">Total identifiable net assets:</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLessPurchasePrice" xlink:label="FSI_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLessPurchasePrice" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLessPurchasePrice" xlink:to="FSI_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLessPurchasePrice_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="FSI_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLessPurchasePrice_lbl" xml:lang="en-US">Excess of assets acquired over consideration</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_InvestmentEliminatedUponConsolidation" xlink:label="FSI_InvestmentEliminatedUponConsolidation" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_InvestmentEliminatedUponConsolidation" xlink:to="FSI_InvestmentEliminatedUponConsolidation_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_InvestmentEliminatedUponConsolidation_lbl" xml:lang="en-US">Less investment eliminated upon consolidation</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_GainOnAcquisitionOfSubsidiary" xlink:label="FSI_GainOnAcquisitionOfSubsidiary" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_GainOnAcquisitionOfSubsidiary" xlink:to="FSI_GainOnAcquisitionOfSubsidiary_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="FSI_GainOnAcquisitionOfSubsidiary_lbl" xml:lang="en-US">Gain on acquisition of ENP Peru</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EquityMethodInvestments" xlink:to="us-gaap_EquityMethodInvestments_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_EquityMethodInvestments_2_lbl" xml:lang="en-US">Balance, Beginning</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_EquityMethodInvestmentReturnOfEquity" xlink:label="FSI_EquityMethodInvestmentReturnOfEquity" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_EquityMethodInvestmentReturnOfEquity" xlink:to="FSI_EquityMethodInvestmentReturnOfEquity_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_EquityMethodInvestmentReturnOfEquity_lbl" xml:lang="en-US">Return of equity</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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 in equity method investment</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_InvestmentEliminatedUponConsolidation" xlink:to="FSI_InvestmentEliminatedUponConsolidation_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="FSI_InvestmentEliminatedUponConsolidation_2_lbl" xml:lang="en-US">Investment eliminated upon consolidation</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EquityMethodInvestments" xlink:to="us-gaap_EquityMethodInvestments_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_EquityMethodInvestments_3_lbl" xml:lang="en-US">Balance, Ending</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GainsLossesOnSalesOfInvestmentRealEstate" xlink:label="us-gaap_GainsLossesOnSalesOfInvestmentRealEstate" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GainsLossesOnSalesOfInvestmentRealEstate" xlink:to="us-gaap_GainsLossesOnSalesOfInvestmentRealEstate_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_GainsLossesOnSalesOfInvestmentRealEstate_lbl" xml:lang="en-US">Net sales</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RealizedInvestmentGainsLosses" xlink:label="us-gaap_RealizedInvestmentGainsLosses" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RealizedInvestmentGainsLosses" xlink:to="us-gaap_RealizedInvestmentGainsLosses_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RealizedInvestmentGainsLosses_lbl" xml:lang="en-US">Gross profit</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_RealizedInvestmentGainsLossesNet" xlink:label="FSI_RealizedInvestmentGainsLossesNet" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_RealizedInvestmentGainsLossesNet" xlink:to="FSI_RealizedInvestmentGainsLossesNet_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="FSI_RealizedInvestmentGainsLossesNet_lbl" xml:lang="en-US">Net income</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfEquityMethodInvestmentsTable" xlink:label="us-gaap_ScheduleOfEquityMethodInvestmentsTable" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfEquityMethodInvestmentsTable" xlink:to="us-gaap_ScheduleOfEquityMethodInvestmentsTable_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfEquityMethodInvestmentsTable_lbl" xml:lang="en-US">Schedule of Equity Method Investments [Table]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfEquityMethodInvestmentsLineItems" xlink:label="us-gaap_ScheduleOfEquityMethodInvestmentsLineItems" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfEquityMethodInvestmentsLineItems" xlink:to="us-gaap_ScheduleOfEquityMethodInvestmentsLineItems_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfEquityMethodInvestmentsLineItems_lbl" xml:lang="en-US">Schedule of Equity Method Investments [Line Items]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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">Ownership percentage</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_AdditionalEquityMethodInvestmentOwnershipPercentage" xlink:label="FSI_AdditionalEquityMethodInvestmentOwnershipPercentage" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_AdditionalEquityMethodInvestmentOwnershipPercentage" xlink:to="FSI_AdditionalEquityMethodInvestmentOwnershipPercentage_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_AdditionalEquityMethodInvestmentOwnershipPercentage_lbl" xml:lang="en-US">Additional ownership interest</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_RemainningShareOutstanding" xlink:label="FSI_RemainningShareOutstanding" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_RemainningShareOutstanding" xlink:to="FSI_RemainningShareOutstanding_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_RemainningShareOutstanding_lbl" xml:lang="en-US">Remainning share outstanding</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Cash" xlink:label="us-gaap_Cash" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Cash" xlink:to="us-gaap_Cash_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_Cash_lbl" xml:lang="en-US">Cash</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MinorityInterestOwnershipPercentageByParent" xlink:label="us-gaap_MinorityInterestOwnershipPercentageByParent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_MinorityInterestOwnershipPercentageByParent" xlink:to="us-gaap_MinorityInterestOwnershipPercentageByParent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_MinorityInterestOwnershipPercentageByParent_lbl" xml:lang="en-US">Minority Interest Ownership Percentage</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Investments" xlink:label="us-gaap_Investments" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Investments" xlink:to="us-gaap_Investments_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_Investments_lbl" xml:lang="en-US">Investment</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentMaturityDate" xlink:label="us-gaap_DebtInstrumentMaturityDate" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentMaturityDate" xlink:to="us-gaap_DebtInstrumentMaturityDate_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DebtInstrumentMaturityDate_lbl" xml:lang="en-US">Debt maturity date</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharePrice" xlink:label="us-gaap_SharePrice" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharePrice" xlink:to="us-gaap_SharePrice_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SharePrice_lbl" xml:lang="en-US">Share price</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Revenues" xlink:label="us-gaap_Revenues" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Revenues" xlink:to="us-gaap_Revenues_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_Revenues_lbl" xml:lang="en-US">Sales</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsReceivableNet" xlink:label="us-gaap_AccountsReceivableNet" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsReceivableNet" xlink:to="us-gaap_AccountsReceivableNet_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccountsReceivableNet_lbl" xml:lang="en-US">Accounts receivable related parties</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsToAcquireInvestments" xlink:to="us-gaap_PaymentsToAcquireInvestments_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PaymentsToAcquireInvestments_2_lbl" xml:lang="en-US">Payments to Acquire Investments</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityTable" xlink:label="us-gaap_LineOfCreditFacilityTable" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LineOfCreditFacilityTable" xlink:to="us-gaap_LineOfCreditFacilityTable_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LineOfCreditFacilityTable_lbl" xml:lang="en-US">Line of Credit Facility [Table]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityLineItems" xlink:label="us-gaap_LineOfCreditFacilityLineItems" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LineOfCreditFacilityLineItems" xlink:to="us-gaap_LineOfCreditFacilityLineItems_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LineOfCreditFacilityLineItems_lbl" xml:lang="en-US">Line of Credit Facility [Line Items]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityCurrentBorrowingCapacity" xlink:label="us-gaap_LineOfCreditFacilityCurrentBorrowingCapacity" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LineOfCreditFacilityCurrentBorrowingCapacity" xlink:to="us-gaap_LineOfCreditFacilityCurrentBorrowingCapacity_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LineOfCreditFacilityCurrentBorrowingCapacity_lbl" xml:lang="en-US">Increasing amount of revolving line of credit</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:label="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:to="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity_lbl" xml:lang="en-US">Aggregate amount of revolving line of credit</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_PercentageOfForeignAccountsReceivableOfInventory" xlink:label="FSI_PercentageOfForeignAccountsReceivableOfInventory" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_PercentageOfForeignAccountsReceivableOfInventory" xlink:to="FSI_PercentageOfForeignAccountsReceivableOfInventory_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_PercentageOfForeignAccountsReceivableOfInventory_lbl" xml:lang="en-US">Percentage of foreign accounts receivable of inventory</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentFaceAmount" xlink:label="us-gaap_DebtInstrumentFaceAmount" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentFaceAmount" xlink:to="us-gaap_DebtInstrumentFaceAmount_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DebtInstrumentFaceAmount_lbl" xml:lang="en-US">Debt face amount</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentInterestRateStatedPercentage" xlink:label="us-gaap_DebtInstrumentInterestRateStatedPercentage" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentInterestRateStatedPercentage" xlink:to="us-gaap_DebtInstrumentInterestRateStatedPercentage_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DebtInstrumentInterestRateStatedPercentage_lbl" xml:lang="en-US">Interest rate</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_LoanGuaranteedRate" xlink:label="FSI_LoanGuaranteedRate" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_LoanGuaranteedRate" xlink:to="FSI_LoanGuaranteedRate_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_LoanGuaranteedRate_lbl" xml:lang="en-US">Loan guaranteed rate</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LinesOfCreditCurrent" xlink:to="us-gaap_LinesOfCreditCurrent_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_LinesOfCreditCurrent_2_lbl" xml:lang="en-US">Line of credit</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShortTermBorrowings" xlink:label="us-gaap_ShortTermBorrowings" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShortTermBorrowings" xlink:to="us-gaap_ShortTermBorrowings_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShortTermBorrowings_lbl" xml:lang="en-US">Short term borrowings</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_EligiblePercentageOfDomesticAccountsReceivable" xlink:label="FSI_EligiblePercentageOfDomesticAccountsReceivable" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_EligiblePercentageOfDomesticAccountsReceivable" xlink:to="FSI_EligiblePercentageOfDomesticAccountsReceivable_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_EligiblePercentageOfDomesticAccountsReceivable_lbl" xml:lang="en-US">Eligible percentage of domestic accounts receivable</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongTermDebt" xlink:label="us-gaap_LongTermDebt" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongTermDebt" xlink:to="us-gaap_LongTermDebt_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_LongTermDebt_lbl" xml:lang="en-US">Balance, beginning of period</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromBankDebt" xlink:label="us-gaap_ProceedsFromBankDebt" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProceedsFromBankDebt" xlink:to="us-gaap_ProceedsFromBankDebt_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProceedsFromBankDebt_lbl" xml:lang="en-US">Plus: Proceeds from loans</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_ProceedsFromLoanAcquiredFromAcquisition" xlink:label="FSI_ProceedsFromLoanAcquiredFromAcquisition" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_ProceedsFromLoanAcquiredFromAcquisition" xlink:to="FSI_ProceedsFromLoanAcquiredFromAcquisition_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_ProceedsFromLoanAcquiredFromAcquisition_lbl" xml:lang="en-US">Plus: Loan acquired with acquisition of ENP Peru</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsForProceedsFromDepositOnLoan" xlink:label="us-gaap_PaymentsForProceedsFromDepositOnLoan" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsForProceedsFromDepositOnLoan" xlink:to="us-gaap_PaymentsForProceedsFromDepositOnLoan_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_PaymentsForProceedsFromDepositOnLoan_lbl" xml:lang="en-US">Less: Payments on loan</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongTermDebt" xlink:to="us-gaap_LongTermDebt_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_LongTermDebt_2_lbl" xml:lang="en-US">Balance, end of period</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfDefinedBenefitPlansDisclosuresTable" xlink:label="us-gaap_ScheduleOfDefinedBenefitPlansDisclosuresTable" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfDefinedBenefitPlansDisclosuresTable" xlink:to="us-gaap_ScheduleOfDefinedBenefitPlansDisclosuresTable_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfDefinedBenefitPlansDisclosuresTable_lbl" xml:lang="en-US">Schedule of Defined Benefit Plans Disclosures [Table]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedBenefitPlanDisclosureLineItems" xlink:label="us-gaap_DefinedBenefitPlanDisclosureLineItems" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DefinedBenefitPlanDisclosureLineItems" xlink:to="us-gaap_DefinedBenefitPlanDisclosureLineItems_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DefinedBenefitPlanDisclosureLineItems_lbl" xml:lang="en-US">Defined Benefit Plan Disclosure [Line Items]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongTermDebt" xlink:to="us-gaap_LongTermDebt_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LongTermDebt_3_lbl" xml:lang="en-US">Long-term Debt</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongTermDebtCurrent" xlink:to="us-gaap_LongTermDebtCurrent_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_LongTermDebtCurrent_2_lbl" xml:lang="en-US">Less: current portion</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongTermDebtNoncurrent" xlink:to="us-gaap_LongTermDebtNoncurrent_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_LongTermDebtNoncurrent_2_lbl" xml:lang="en-US">Long-term Debt non current&#160;</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShortTermDebtTable" xlink:label="us-gaap_ScheduleOfShortTermDebtTable" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfShortTermDebtTable" xlink:to="us-gaap_ScheduleOfShortTermDebtTable_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfShortTermDebtTable_lbl" xml:lang="en-US">Schedule of Short-Term Debt [Table]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShortTermDebtLineItems" xlink:label="us-gaap_ShortTermDebtLineItems" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShortTermDebtLineItems" xlink:to="us-gaap_ShortTermDebtLineItems_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShortTermDebtLineItems_lbl" xml:lang="en-US">Short-Term Debt [Line Items]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentFaceAmount" xlink:to="us-gaap_DebtInstrumentFaceAmount_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_DebtInstrumentFaceAmount_2_lbl" xml:lang="en-US">Debt instrument face amount</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentInterestRateStatedPercentage" xlink:to="us-gaap_DebtInstrumentInterestRateStatedPercentage_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_DebtInstrumentInterestRateStatedPercentage_2_lbl" xml:lang="en-US">Debt instrument interest rate stated percentage</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentTerm" xlink:label="us-gaap_DebtInstrumentTerm" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentTerm" xlink:to="us-gaap_DebtInstrumentTerm_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DebtInstrumentTerm_lbl" xml:lang="en-US">Debt instrument term</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InterestExpenseDebt" xlink:label="us-gaap_InterestExpenseDebt" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InterestExpenseDebt" xlink:to="us-gaap_InterestExpenseDebt_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InterestExpenseDebt_lbl" xml:lang="en-US">Interest expense debt</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtDefaultLongtermDebtAmount" xlink:label="us-gaap_DebtDefaultLongtermDebtAmount" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtDefaultLongtermDebtAmount" xlink:to="us-gaap_DebtDefaultLongtermDebtAmount_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DebtDefaultLongtermDebtAmount_lbl" xml:lang="en-US">Debt Long term debt amount</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LoansPayable" xlink:label="us-gaap_LoansPayable" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LoansPayable" xlink:to="us-gaap_LoansPayable_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LoansPayable_lbl" xml:lang="en-US">First mortgage</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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 shares, Beginning Balance</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice" xlink:label="FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice" xlink:to="FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice_lbl" xml:lang="en-US">Exercise price per share, Beginning Balance</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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, Beginning Balance</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_lbl" xml:lang="en-US">Number of shares, Granted</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeGrantedOptionsExercisePrice" xlink:label="FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeGrantedOptionsExercisePrice" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeGrantedOptionsExercisePrice" xlink:to="FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeGrantedOptionsExercisePrice_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeGrantedOptionsExercisePrice_lbl" xml:lang="en-US">Exercise price per share, Granted</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod_lbl" xml:lang="en-US">Number of shares, Cancelled or expired</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice" xlink:label="FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice" xlink:to="FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice_lbl" xml:lang="en-US">Exercise price per share, Cancelled</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice_lbl" xml:lang="en-US">Weighted average exercise price, Cancelled or expired</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2009/role/negatedLabel" xlink:label="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_lbl" xml:lang="en-US">Number of shares, Exercised</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExcercisedOptionsExercisePrice" xlink:label="FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExcercisedOptionsExercisePrice" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExcercisedOptionsExercisePrice" xlink:to="FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExcercisedOptionsExercisePrice_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExcercisedOptionsExercisePrice_lbl" xml:lang="en-US">Exercise price per share, Exercised</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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: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 shares Exercisable, Ending Balance</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice" xlink:to="FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice_2_lbl" xml:lang="en-US">Exercise price per share, Ending Balance</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, Ending Balance</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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 shares Exercisable, Ending Balance</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingExercisableOptionsExercisePrice" xlink:label="FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingExercisableOptionsExercisePrice" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingExercisableOptionsExercisePrice" xlink:to="FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingExercisableOptionsExercisePrice_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingExercisableOptionsExercisePrice_lbl" xml:lang="en-US">Exercise price per share Exercisable, Ending Balance</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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, Ending Balance</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/verboseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_lbl" xml:lang="en-US">Interest rate</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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">Volatility</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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 of options granted</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfDeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsByTitleOfIndividualAndByTypeOfDeferredCompensationTable" xlink:label="us-gaap_ScheduleOfDeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsByTitleOfIndividualAndByTypeOfDeferredCompensationTable" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfDeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsByTitleOfIndividualAndByTypeOfDeferredCompensationTable" xlink:to="us-gaap_ScheduleOfDeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsByTitleOfIndividualAndByTypeOfDeferredCompensationTable_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfDeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsByTitleOfIndividualAndByTypeOfDeferredCompensationTable_lbl" xml:lang="en-US">Schedule of Deferred Compensation Arrangement with Individual, Excluding Share-Based Payments and Postretirement Benefits, by Title of Individual and by Type of Deferred Compensation [Table]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsLineItems" xlink:label="us-gaap_DeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsLineItems" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsLineItems" xlink:to="us-gaap_DeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsLineItems_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsLineItems_lbl" xml:lang="en-US">Deferred Compensation Arrangement with Individual, Excluding Share-Based Payments and Postretirement Benefits [Line Items]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage_lbl" xml:lang="en-US">Options granted percentage</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod_lbl" xml:lang="en-US">Options maximum granted term</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockOptionPlanExpense" xlink:label="us-gaap_StockOptionPlanExpense" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockOptionPlanExpense" xlink:to="us-gaap_StockOptionPlanExpense_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockOptionPlanExpense_lbl" xml:lang="en-US">Stock option plan expense</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_AdditionalExpensesDueToOptionsGranted" xlink:label="FSI_AdditionalExpensesDueToOptionsGranted" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_AdditionalExpensesDueToOptionsGranted" xlink:to="FSI_AdditionalExpensesDueToOptionsGranted_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_AdditionalExpensesDueToOptionsGranted_lbl" xml:lang="en-US">Additional expenses due to options granted</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/label" xlink:label="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_2_lbl" xml:lang="en-US">Stock options exercised</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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">Stock vested compensation non vested</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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">Weighted average period expected to be recognized</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAggregateIntrinsicValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAggregateIntrinsicValue" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAggregateIntrinsicValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAggregateIntrinsicValue_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAggregateIntrinsicValue_lbl" xml:lang="en-US">Aggregate intrinsic value of vested options</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_2_lbl" xml:lang="en-US">Stock options granted</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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">Consultant for services, shares</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodValueIssuedForServices" xlink:label="us-gaap_StockIssuedDuringPeriodValueIssuedForServices" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodValueIssuedForServices" xlink:to="us-gaap_StockIssuedDuringPeriodValueIssuedForServices_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockIssuedDuringPeriodValueIssuedForServices_lbl" xml:lang="en-US">Consultant for services, value</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DividendsPayableAmountPerShare" xlink:label="us-gaap_DividendsPayableAmountPerShare" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DividendsPayableAmountPerShare" xlink:to="us-gaap_DividendsPayableAmountPerShare_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DividendsPayableAmountPerShare_lbl" xml:lang="en-US">Dividends per share</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTable" xlink:label="us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTable" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTable" xlink:to="us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTable_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTable_lbl" xml:lang="en-US">Consolidation, Less than Wholly Owned Subsidiary, Parent Ownership Interest, Effects of Changes, Net [Table]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems" xlink:label="us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems" xlink:to="us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems_lbl" xml:lang="en-US">Consolidation, Less than Wholly Owned Subsidiary, Parent Ownership Interest, Effects of Changes, Net [Line Items]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_MinorityInterest" xlink:to="us-gaap_MinorityInterest_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_MinorityInterest_2_lbl" xml:lang="en-US">Distribution to noncontrolling interests, Beginning balance</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders" xlink:to="us-gaap_MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:label="us-gaap_MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders_2_lbl" xml:lang="en-US">Distribution</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetIncomeLossAttributableToNoncontrollingInterest" xlink:to="us-gaap_NetIncomeLossAttributableToNoncontrollingInterest_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NetIncomeLossAttributableToNoncontrollingInterest_2_lbl" xml:lang="en-US">Non-controlling interest share of income</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_MinorityInterest" xlink:to="us-gaap_MinorityInterest_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_MinorityInterest_3_lbl" xml:lang="en-US">Distribution to noncontrolling interests, Ending balance</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToAcquireBusinessesAndInterestInAffiliates" xlink:label="us-gaap_PaymentsToAcquireBusinessesAndInterestInAffiliates" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsToAcquireBusinessesAndInterestInAffiliates" xlink:to="us-gaap_PaymentsToAcquireBusinessesAndInterestInAffiliates_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PaymentsToAcquireBusinessesAndInterestInAffiliates_lbl" xml:lang="en-US">Distribution to noncontrolling interests, Acquisition</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest" xlink:to="us-gaap_SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest_2_lbl" xml:lang="en-US">Subsidiary company ownership interest rate</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_MinorityInterestOwnershipPercentageByParent" xlink:to="us-gaap_MinorityInterestOwnershipPercentageByParent_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_MinorityInterestOwnershipPercentageByParent_2_lbl" xml:lang="en-US">Related party owner ship percentage</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsToMinorityShareholders" xlink:to="us-gaap_PaymentsToMinorityShareholders_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PaymentsToMinorityShareholders_2_lbl" xml:lang="en-US">Partnership distribution to non-controlling interest</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsReceivableNetCurrent" xlink:to="us-gaap_AccountsReceivableNetCurrent_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_AccountsReceivableNetCurrent_2_lbl" xml:lang="en-US">Accounts receivable</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable" xlink:label="us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable" xlink:to="us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable_lbl" xml:lang="en-US">Revenue from External Customers by Products and Services [Table]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems" xlink:label="us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems" xlink:to="us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems_lbl" xml:lang="en-US">Revenue from External Customer [Line Items]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:to="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_3_lbl" xml:lang="en-US">Revenue</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DepreciationNonproduction" xlink:label="us-gaap_DepreciationNonproduction" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DepreciationNonproduction" xlink:to="us-gaap_DepreciationNonproduction_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_DepreciationNonproduction_lbl" xml:lang="en-US">Depreciation and amortization</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/label" xlink:label="us-gaap_IncomeTaxExpenseBenefit_2_lbl" xml:lang="en-US">Income tax expense</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">Segment profit (loss)</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_SegmentAssets" xlink:label="FSI_SegmentAssets" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_SegmentAssets" xlink:to="FSI_SegmentAssets_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_SegmentAssets_lbl" xml:lang="en-US">Segment assets</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/2009/role/negatedTerseLabel" xlink:label="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_2_lbl" xml:lang="en-US">Expenditures for segment assets</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" xlink:label="us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" xlink:to="us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable_lbl" xml:lang="en-US">Schedule of Revenues from External Customers and Long-Lived Assets [Table]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems" xlink:label="us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems" xlink:to="us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems_lbl" xml:lang="en-US">Revenues from External Customers and Long-Lived Assets [Line Items]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NoncurrentAssets" xlink:label="us-gaap_NoncurrentAssets" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NoncurrentAssets" xlink:to="us-gaap_NoncurrentAssets_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_NoncurrentAssets_lbl" xml:lang="en-US">Total</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfEntityWideRevenueByMajorCustomersByReportingSegmentsTable" xlink:label="us-gaap_ScheduleOfEntityWideRevenueByMajorCustomersByReportingSegmentsTable" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfEntityWideRevenueByMajorCustomersByReportingSegmentsTable" xlink:to="us-gaap_ScheduleOfEntityWideRevenueByMajorCustomersByReportingSegmentsTable_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfEntityWideRevenueByMajorCustomersByReportingSegmentsTable_lbl" xml:lang="en-US">Schedule of Revenue by Major Customers, by Reporting Segments [Table]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EntityWideRevenueMajorCustomerLineItems" xlink:label="us-gaap_EntityWideRevenueMajorCustomerLineItems" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EntityWideRevenueMajorCustomerLineItems" xlink:to="us-gaap_EntityWideRevenueMajorCustomerLineItems_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EntityWideRevenueMajorCustomerLineItems_lbl" xml:lang="en-US">Revenue, Major Customer [Line Items]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NumberOfOperatingSegments" xlink:label="us-gaap_NumberOfOperatingSegments" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NumberOfOperatingSegments" xlink:to="us-gaap_NumberOfOperatingSegments_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NumberOfOperatingSegments_lbl" xml:lang="en-US">Number of operating segments</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsReceivableNet" xlink:to="us-gaap_AccountsReceivableNet_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_AccountsReceivableNet_2_lbl" xml:lang="en-US">Accounts receivable, after allowance for credit loss</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_StockOptionExercisePercent" xlink:label="FSI_StockOptionExercisePercent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_StockOptionExercisePercent" xlink:to="FSI_StockOptionExercisePercent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_StockOptionExercisePercent_lbl" xml:lang="en-US">Stock option exercise percent</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_Consulting" xlink:to="FSI_Consulting_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_Consulting_doc" xml:lang="en-US">Consulting.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_InvestorRelationsAndTransferAgentFee" xlink:to="FSI_InvestorRelationsAndTransferAgentFee_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_InvestorRelationsAndTransferAgentFee_doc" xml:lang="en-US">Investor relations and transfer agent fee.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_ShippingCost" xlink:to="FSI_ShippingCost_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_ShippingCost_doc" xml:lang="en-US">Shipping cost.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_Commissions" xlink:to="FSI_Commissions_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_Commissions_doc" xml:lang="en-US">Commissions.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_LeaseRightOfUseFinancing" xlink:to="FSI_LeaseRightOfUseFinancing_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_LeaseRightOfUseFinancing_doc" xml:lang="en-US">Lease right of use financing.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_GainOnAcquisitionOfSubsidiary" xlink:to="FSI_GainOnAcquisitionOfSubsidiary_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_GainOnAcquisitionOfSubsidiary_doc" xml:lang="en-US">Gain on acquisition of subsidiary.</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_PaycheckProtectionProgramLoanForgiveness" xlink:label="FSI_PaycheckProtectionProgramLoanForgiveness" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_PaycheckProtectionProgramLoanForgiveness" xlink:to="FSI_PaycheckProtectionProgramLoanForgiveness_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_PaycheckProtectionProgramLoanForgiveness_doc" xml:lang="en-US">Paycheck protection program loan forgiveness.</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_PaymentToAdditionalInvestment" xlink:label="FSI_PaymentToAdditionalInvestment" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_PaymentToAdditionalInvestment" xlink:to="FSI_PaymentToAdditionalInvestment_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_PaymentToAdditionalInvestment_doc" xml:lang="en-US">Payment to additional investment.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_ProceedsFromNoncontrollingInterest" xlink:to="FSI_ProceedsFromNoncontrollingInterest_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_ProceedsFromNoncontrollingInterest_doc" xml:lang="en-US">Proceeds from noncontrolling interest.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_InventoryAdditionsInAccountsPayable" xlink:to="FSI_InventoryAdditionsInAccountsPayable_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_InventoryAdditionsInAccountsPayable_doc" xml:lang="en-US">Inventory additions in accounts payable.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_CapitalInExcessOfParValueMember" xlink:to="FSI_CapitalInExcessOfParValueMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_CapitalInExcessOfParValueMember_doc" xml:lang="en-US">Capital in Excess of Par Value [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_ENPInvestmentsLLCAndENPMendotaMember" xlink:to="FSI_ENPInvestmentsLLCAndENPMendotaMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_ENPInvestmentsLLCAndENPMendotaMember_doc" xml:lang="en-US">ENP Investments LLC and ENP Mendota [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_ENPPeruMember" xlink:to="FSI_ENPPeruMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_ENPPeruMember_doc" xml:lang="en-US">ENP Peru [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_UnrelatedPartyMember" xlink:to="FSI_UnrelatedPartyMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_UnrelatedPartyMember_doc" xml:lang="en-US">Unrelated Party [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_IncreaseDecreaseInSharePercentage" xlink:to="FSI_IncreaseDecreaseInSharePercentage_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_IncreaseDecreaseInSharePercentage_doc" xml:lang="en-US">Increase decrease in share percentage.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_RemainingInvestmentOwnedPercentage" xlink:to="FSI_RemainingInvestmentOwnedPercentage_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_RemainingInvestmentOwnedPercentage_doc" xml:lang="en-US">Remaining investment owned percentage.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_MendotaLLCMember" xlink:to="FSI_MendotaLLCMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_MendotaLLCMember_doc" xml:lang="en-US">Mendota LLC [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_TermDepositsPolicyTextBlock" xlink:to="FSI_TermDepositsPolicyTextBlock_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_TermDepositsPolicyTextBlock_doc" xml:lang="en-US">Term deposits [Policy Text Block]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_OtherTermDeposit" xlink:to="FSI_OtherTermDeposit_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_OtherTermDeposit_doc" xml:lang="en-US">Other term deposit.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_ScheduleOfMethodOfDepreciationTableTextBlock" xlink:to="FSI_ScheduleOfMethodOfDepreciationTableTextBlock_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_ScheduleOfMethodOfDepreciationTableTextBlock_doc" xml:lang="en-US">Schedule Of Method Of Depreciation [Table Text Block]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_DepreciationMethodUsedAndAnnualRate" xlink:to="FSI_DepreciationMethodUsedAndAnnualRate_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_DepreciationMethodUsedAndAnnualRate_doc" xml:lang="en-US">Depreciation method used and annual rate.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_BoatMember" xlink:to="FSI_BoatMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_BoatMember_doc" xml:lang="en-US">Boat [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_TrailerMember" xlink:to="FSI_TrailerMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_TrailerMember_doc" xml:lang="en-US">Trailer [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_SoftwareMember" xlink:to="FSI_SoftwareMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_SoftwareMember_doc" xml:lang="en-US">Software [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_StockIssuedInExchangeForServicesPolicyTextBlock" xlink:to="FSI_StockIssuedInExchangeForServicesPolicyTextBlock_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_StockIssuedInExchangeForServicesPolicyTextBlock_doc" xml:lang="en-US">Stock Issued In Exchange For Services [Policy Text Block]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_ThreePrimaryCustomersMember" xlink:to="FSI_ThreePrimaryCustomersMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_ThreePrimaryCustomersMember_doc" xml:lang="en-US">Three Primary Customers [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_ConcentrationRiskThresholdPercentage" xlink:to="FSI_ConcentrationRiskThresholdPercentage_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_ConcentrationRiskThresholdPercentage_doc" xml:lang="en-US">Concentration Risk Threshold Percentage.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_InvestmentMember" xlink:to="FSI_InvestmentMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_InvestmentMember_doc" xml:lang="en-US">Investment [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_SummaryOfRightofuseAssetAndLeaseLiabilityTableTextBlock" xlink:to="FSI_SummaryOfRightofuseAssetAndLeaseLiabilityTableTextBlock_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_SummaryOfRightofuseAssetAndLeaseLiabilityTableTextBlock_doc" xml:lang="en-US">Summary Of Right of use Asset And Lease Liability [Table Text Block]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_LeaseInterestExpense" xlink:to="FSI_LeaseInterestExpense_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_LeaseInterestExpense_doc" xml:lang="en-US">Lease interest expense.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_EnPInvestmentsCorporationLLCMember" xlink:to="FSI_EnPInvestmentsCorporationLLCMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_EnPInvestmentsCorporationLLCMember_doc" xml:lang="en-US">ENP Investments Limited Liability Corporation (LLC) [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_LongTermDepositsTextBlock" xlink:to="FSI_LongTermDepositsTextBlock_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_LongTermDepositsTextBlock_doc" xml:lang="en-US">Long term deposits [Text Block]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_ScheduleOfLongTermDepositsTableTextBlock" xlink:to="FSI_ScheduleOfLongTermDepositsTableTextBlock_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_ScheduleOfLongTermDepositsTableTextBlock_doc" xml:lang="en-US">Schedule Of Long Term Deposits [Table Text Block]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_EnpPeruInvestmentsLlcMember" xlink:to="FSI_EnpPeruInvestmentsLlcMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_EnpPeruInvestmentsLlcMember_doc" xml:lang="en-US">Enp Peru Investments Llc [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_NanoChemMember" xlink:to="FSI_NanoChemMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_NanoChemMember_doc" xml:lang="en-US">Nano Chem [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_ENPInvestmentsLLCMember" xlink:to="FSI_ENPInvestmentsLLCMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_ENPInvestmentsLLCMember_doc" xml:lang="en-US">ENP Investments LLC [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_AdditionalEquityMethodInvestmentOwnershipPercentage" xlink:to="FSI_AdditionalEquityMethodInvestmentOwnershipPercentage_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_AdditionalEquityMethodInvestmentOwnershipPercentage_doc" xml:lang="en-US">Additional equity method investment ownership percentage.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_RemainningShareOutstanding" xlink:to="FSI_RemainningShareOutstanding_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_RemainningShareOutstanding_doc" xml:lang="en-US">Remainning share outstanding.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_EnpnvestmentsLlcMember" xlink:to="FSI_EnpnvestmentsLlcMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_EnpnvestmentsLlcMember_doc" xml:lang="en-US">ENP Investments LLC [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLongTermDebt" xlink:to="FSI_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLongTermDebt_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLongTermDebt_doc" xml:lang="en-US">Business combination recognized identifiable assets acquired and liabilities assumed long term debt.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLessPurchasePrice" xlink:to="FSI_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLessPurchasePrice_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLessPurchasePrice_doc" xml:lang="en-US">Business combination recognized identifiable assets acquired and liabilities assumed less purchase price.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_InvestmentEliminatedUponConsolidation" xlink:to="FSI_InvestmentEliminatedUponConsolidation_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_InvestmentEliminatedUponConsolidation_doc" xml:lang="en-US">Investment eliminated upon consolidation.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_EquityMethodInvestmentReturnOfEquity" xlink:to="FSI_EquityMethodInvestmentReturnOfEquity_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_EquityMethodInvestmentReturnOfEquity_doc" xml:lang="en-US">Return of equity.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_AppliedHoldingCorpMember" xlink:to="FSI_AppliedHoldingCorpMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_AppliedHoldingCorpMember_doc" xml:lang="en-US">Applied Holding Corp [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_TrioOpportunityCorpMember" xlink:to="FSI_TrioOpportunityCorpMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_TrioOpportunityCorpMember_doc" xml:lang="en-US">Trio Opportunity Corp [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_FloridaBasedLLCMember" xlink:to="FSI_FloridaBasedLLCMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_FloridaBasedLLCMember_doc" xml:lang="en-US">Florida Based LLC [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_RealizedInvestmentGainsLossesNet" xlink:to="FSI_RealizedInvestmentGainsLossesNet_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_RealizedInvestmentGainsLossesNet_doc" xml:lang="en-US">Net income.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_LygosIncMember" xlink:to="FSI_LygosIncMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_LygosIncMember_doc" xml:lang="en-US">Lygos Inc [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_StockYardAndBankMember" xlink:to="FSI_StockYardAndBankMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_StockYardAndBankMember_doc" xml:lang="en-US">Stock Yard And Bank One [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_MidlandStatesBankMember" xlink:to="FSI_MidlandStatesBankMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_MidlandStatesBankMember_doc" xml:lang="en-US">Midland States Bank [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_NewAgreementMember" xlink:to="FSI_NewAgreementMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_NewAgreementMember_doc" xml:lang="en-US">New Agreement [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_PercentageOfForeignAccountsReceivableOfInventory" xlink:to="FSI_PercentageOfForeignAccountsReceivableOfInventory_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_PercentageOfForeignAccountsReceivableOfInventory_doc" xml:lang="en-US">Percentage of foreign accounts receivable of inventory.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_LoanGuaranteedRate" xlink:to="FSI_LoanGuaranteedRate_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_LoanGuaranteedRate_doc" xml:lang="en-US">Loan guaranteed rate.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_NanoChemSolutionIncMember" xlink:to="FSI_NanoChemSolutionIncMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_NanoChemSolutionIncMember_doc" xml:lang="en-US">NanoChem Solutions Inc [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_StockBankMember" xlink:to="FSI_StockBankMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_StockBankMember_doc" xml:lang="en-US">Stock Bank [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_EligiblePercentageOfDomesticAccountsReceivable" xlink:to="FSI_EligiblePercentageOfDomesticAccountsReceivable_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_EligiblePercentageOfDomesticAccountsReceivable_doc" xml:lang="en-US">Eligible percentage of domestic accounts receivable.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_TermLoanMember" xlink:to="FSI_TermLoanMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_TermLoanMember_doc" xml:lang="en-US">Term Loan [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_MidlandBankMember" xlink:to="FSI_MidlandBankMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_MidlandBankMember_doc" xml:lang="en-US">Midland Bank [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_NanoChemSolutionsIncMember" xlink:to="FSI_NanoChemSolutionsIncMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_NanoChemSolutionsIncMember_doc" xml:lang="en-US">NanoChem Solutions Inc [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_ENPMendotaMember" xlink:to="FSI_ENPMendotaMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_ENPMendotaMember_doc" xml:lang="en-US">ENP Mendota, LLC [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_StockYardsBankTrustMember" xlink:to="FSI_StockYardsBankTrustMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_StockYardsBankTrustMember_doc" xml:lang="en-US">Stock Yards Bank Trust [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_EnpRealtyLLCMember" xlink:to="FSI_EnpRealtyLLCMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_EnpRealtyLLCMember_doc" xml:lang="en-US">ENP Realty LLC [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_ENPPeruOneMember" xlink:to="FSI_ENPPeruOneMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_ENPPeruOneMember_doc" xml:lang="en-US">ENP Peru One [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_ENPPeruInvestmentsMember" xlink:to="FSI_ENPPeruInvestmentsMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_ENPPeruInvestmentsMember_doc" xml:lang="en-US">ENP Peru Investments [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_MendotaMember" xlink:to="FSI_MendotaMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_MendotaMember_doc" xml:lang="en-US">Mendota [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_ScheduleOfLoanCovenantsTableTextBlock" xlink:to="FSI_ScheduleOfLoanCovenantsTableTextBlock_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_ScheduleOfLoanCovenantsTableTextBlock_doc" xml:lang="en-US">Schedule of loan covenants [Table Text Block]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_ProceedsFromLoanAcquiredFromAcquisition" xlink:to="FSI_ProceedsFromLoanAcquiredFromAcquisition_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_ProceedsFromLoanAcquiredFromAcquisition_doc" xml:lang="en-US">Proceeds from loan acquired from acquisition.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_StockYardsBankTrustFiveMember" xlink:to="FSI_StockYardsBankTrustFiveMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_StockYardsBankTrustFiveMember_doc" xml:lang="en-US">Stock Yards Bank Trust Five [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice" xlink:to="FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice_doc" xml:lang="en-US">Exercise price per share.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeGrantedOptionsExercisePrice" xlink:to="FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeGrantedOptionsExercisePrice_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeGrantedOptionsExercisePrice_doc" xml:lang="en-US">Exercise price per share, Granted.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice" xlink:to="FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice_doc" xml:lang="en-US">Cancelled or expired, Exercise price per share.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExcercisedOptionsExercisePrice" xlink:to="FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExcercisedOptionsExercisePrice_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExcercisedOptionsExercisePrice_doc" xml:lang="en-US">Exercised, Exercise price per share.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingExercisableOptionsExercisePrice" xlink:to="FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingExercisableOptionsExercisePrice_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingExercisableOptionsExercisePrice_doc" xml:lang="en-US">Exercise price per share.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_ConsultantsMember" xlink:to="FSI_ConsultantsMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_ConsultantsMember_doc" xml:lang="en-US">Consultants [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_EmployeesMember" xlink:to="FSI_EmployeesMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_EmployeesMember_doc" xml:lang="en-US">Employees [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_AdditionalExpensesDueToOptionsGranted" xlink:to="FSI_AdditionalExpensesDueToOptionsGranted_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_AdditionalExpensesDueToOptionsGranted_doc" xml:lang="en-US">Additional expenses due to options granted.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_ScheduleOfDistributionsTableTextBlock" xlink:to="FSI_ScheduleOfDistributionsTableTextBlock_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_ScheduleOfDistributionsTableTextBlock_doc" xml:lang="en-US">Schedule of distributions [Table Text Block]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_OwnershipInterestPurchaseAgreementMember" xlink:to="FSI_OwnershipInterestPurchaseAgreementMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_OwnershipInterestPurchaseAgreementMember_doc" xml:lang="en-US">Ownership Interest Purchase Agreement [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_EWCPMember" xlink:to="FSI_EWCPMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_EWCPMember_doc" xml:lang="en-US">EWCP [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_SegmentMember" xlink:to="FSI_SegmentMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_SegmentMember_doc" xml:lang="en-US">Segment [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_TPAMember" xlink:to="FSI_TPAMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_TPAMember_doc" xml:lang="en-US">TPA [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_SegmentAssets" xlink:to="FSI_SegmentAssets_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_SegmentAssets_doc" xml:lang="en-US">Segment assets.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_ThreeCustomersMember" xlink:to="FSI_ThreeCustomersMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_ThreeCustomersMember_doc" xml:lang="en-US">Three Customers [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_StockOptionExercisePercent" xlink:to="FSI_StockOptionExercisePercent_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_StockOptionExercisePercent_doc" xml:lang="en-US">Stock option exercise percent</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_ComparativeFiguresTextBlock" xlink:to="FSI_ComparativeFiguresTextBlock_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_ComparativeFiguresTextBlock_doc" xml:lang="en-US">Comparative Figures [Text Block]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_EmployeeMember" xlink:to="FSI_EmployeeMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_EmployeeMember_doc" xml:lang="en-US">Employee [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_DepositsOnPurchasesOfEquipment" xlink:to="FSI_DepositsOnPurchasesOfEquipment_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_DepositsOnPurchasesOfEquipment_doc" xml:lang="en-US">Deposits on purchases of equipment.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_GainOnAcquisitionOfSubsidiaries" xlink:to="FSI_GainOnAcquisitionOfSubsidiaries_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_GainOnAcquisitionOfSubsidiaries_doc" xml:lang="en-US">Gain on acquisition of subsidiaries.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_ScheduleOfNonControllingInterestRelatedToAcquisitionTableTextBlock" xlink:to="FSI_ScheduleOfNonControllingInterestRelatedToAcquisitionTableTextBlock_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_ScheduleOfNonControllingInterestRelatedToAcquisitionTableTextBlock_doc" xml:lang="en-US">Schedule of Non Controlling Interest Related to Acquisition [Table Text Block]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_ConsultantMember" xlink:to="FSI_ConsultantMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_ConsultantMember_doc" xml:lang="en-US">Consultant [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_NanoChemSolutionsIncMember" xlink:to="FSI_NanoChemSolutionsIncMember_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_NanoChemSolutionsIncMember_3_lbl" xml:lang="en-US">NanoChem Solutions Inc [Member] [Default Label]</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_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="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 [Default Label]</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/label" xlink:label="us-gaap_StockholdersEquity_2_lbl" xml:lang="en-US">Equity, Attributable to Parent</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" xlink:to="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_4_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_4_lbl" xml:lang="en-US">Equity, Including Portion Attributable to Noncontrolling Interest</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_ForeignCurrencyTransactionGainLossBeforeTax" xlink:to="us-gaap_ForeignCurrencyTransactionGainLossBeforeTax_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ForeignCurrencyTransactionGainLossBeforeTax_2_lbl" xml:lang="en-US">Gain (Loss), Foreign Currency Transaction, before Tax</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 [Default Label]</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_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_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest" xlink:to="us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest_2_lbl" xml:lang="en-US">Comprehensive Income (Loss), Net of Tax, Including Portion Attributable to Noncontrolling Interest</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest" xlink:to="us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest_2_lbl" xml:lang="en-US">Comprehensive Income (Loss), Net of Tax, Attributable to Noncontrolling Interest</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ComprehensiveIncomeNetOfTax" xlink:to="us-gaap_ComprehensiveIncomeNetOfTax_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ComprehensiveIncomeNetOfTax_2_lbl" xml:lang="en-US">Comprehensive Income (Loss), Net of Tax, Attributable to Parent</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_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_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_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_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="FSI_DepositsOnPurchasesOfEquipment" xlink:to="FSI_DepositsOnPurchasesOfEquipment_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_DepositsOnPurchasesOfEquipment_3_lbl" xml:lang="en-US">DepositsOnPurchasesOfEquipment</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:to="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_3_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_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_RepaymentsOfShortTermDebt" xlink:to="us-gaap_RepaymentsOfShortTermDebt_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RepaymentsOfShortTermDebt_2_lbl" xml:lang="en-US">Repayments of Short-Term Debt</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RepaymentsOfLongTermDebt" xlink:to="us-gaap_RepaymentsOfLongTermDebt_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RepaymentsOfLongTermDebt_2_lbl" xml:lang="en-US">Repayments of Long-Term Debt</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsOfDividends" xlink:to="us-gaap_PaymentsOfDividends_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PaymentsOfDividends_2_lbl" xml:lang="en-US">Payments of Dividends</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsOfFinancingCosts" xlink:to="us-gaap_PaymentsOfFinancingCosts_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PaymentsOfFinancingCosts_2_lbl" xml:lang="en-US">Payments of Financing Costs</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_CashEquivalentsAtCarryingValue" xlink:to="us-gaap_CashEquivalentsAtCarryingValue_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CashEquivalentsAtCarryingValue_2_lbl" xml:lang="en-US">Cash Equivalents, at Carrying Value</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShortTermInvestments" xlink:to="us-gaap_ShortTermInvestments_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShortTermInvestments_2_lbl" xml:lang="en-US">Short-Term Investments</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_Dividends" xlink:to="us-gaap_Dividends_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_Dividends_2_lbl" xml:lang="en-US">Dividends</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders" xlink:to="us-gaap_MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders_3_lbl" xml:lang="en-US">Noncontrolling Interest, Decrease from Distributions to Noncontrolling Interest Holders</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense" xlink:to="us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense_2_lbl" xml:lang="en-US">Operating Lease, Right-of-Use Asset, Periodic Reduction</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeasePayments" xlink:to="us-gaap_OperatingLeasePayments_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingLeasePayments_2_lbl" xml:lang="en-US">Operating Lease, Payments</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:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_2_lbl" xml:lang="en-US">Lessee, Operating Lease, Liability, Undiscounted Excess Amount</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AllowanceForDoubtfulAccountsPremiumsAndOtherReceivables" xlink:to="us-gaap_AllowanceForDoubtfulAccountsPremiumsAndOtherReceivables_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AllowanceForDoubtfulAccountsPremiumsAndOtherReceivables_2_lbl" xml:lang="en-US">Allowance for Doubtful Accounts, Premiums and Other Receivables</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsAndNotesReceivableNet" xlink:to="us-gaap_AccountsAndNotesReceivableNet_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccountsAndNotesReceivableNet_2_lbl" xml:lang="en-US">Accounts and Financing Receivable, after Allowance for Credit Loss</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear_2_lbl" xml:lang="en-US">Finite-Lived Intangible Asset, Expected Amortization, Remainder of Fiscal Year</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_2_lbl" xml:lang="en-US">Finite-Lived Intangible Asset, Expected Amortization, Year One</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_2_lbl" xml:lang="en-US">Finite-Lived Intangible Asset, Expected Amortization, Year Two</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents_2_lbl" xml:lang="en-US">Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Cash and Equivalents</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedBuildings" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedBuildings_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedBuildings_2_lbl" xml:lang="en-US">Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Buildings</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLand" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLand_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLand_2_lbl" xml:lang="en-US">Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Land</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="FSI_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLongTermDebt" xlink:to="FSI_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLongTermDebt_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLongTermDebt_3_lbl" xml:lang="en-US">BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLongTermDebt</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets_2_lbl" xml:lang="en-US">Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Assets</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLessPurchasePrice" xlink:to="FSI_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLessPurchasePrice_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLessPurchasePrice_3_lbl" xml:lang="en-US">BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLessPurchasePrice</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_GainOnAcquisitionOfSubsidiary" xlink:to="FSI_GainOnAcquisitionOfSubsidiary_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_GainOnAcquisitionOfSubsidiary_3_lbl" xml:lang="en-US">GainOnAcquisitionOfSubsidiary</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_RealizedInvestmentGainsLossesNet" xlink:to="FSI_RealizedInvestmentGainsLossesNet_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_RealizedInvestmentGainsLossesNet_3_lbl" xml:lang="en-US">RealizedInvestmentGainsLossesNet</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Revenues" xlink:to="us-gaap_Revenues_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_Revenues_2_lbl" xml:lang="en-US">Revenues</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsForProceedsFromDepositOnLoan" xlink:to="us-gaap_PaymentsForProceedsFromDepositOnLoan_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PaymentsForProceedsFromDepositOnLoan_2_lbl" xml:lang="en-US">Payments for (Proceeds from) Deposit on Loan</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="FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice" xlink:to="FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice_4_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice_4_lbl" xml:lang="en-US">SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice</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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod_2_lbl" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Forfeitures and Expirations in Period</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="FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingExercisableOptionsExercisePrice" xlink:to="FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingExercisableOptionsExercisePrice_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingExercisableOptionsExercisePrice_3_lbl" xml:lang="en-US">SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingExercisableOptionsExercisePrice</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="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_2_lbl" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Fair Value Assumptions, Risk Free Interest Rate</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DepreciationNonproduction" xlink:to="us-gaap_DepreciationNonproduction_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DepreciationNonproduction_2_lbl" xml:lang="en-US">Depreciation, Nonproduction</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NoncurrentAssets" xlink:to="us-gaap_NoncurrentAssets_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NoncurrentAssets_2_lbl" xml:lang="en-US">Long-Lived Assets</link:label>
    </link:labelLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.PRE
<SEQUENCE>9
<FILENAME>fsi-20230630_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.19a -->
    <!-- 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://flexiblesolutions.com/role/Cover" xlink:href="fsi-20230630.xsd#Cover" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/InterimConsolidatedBalanceSheets" xlink:href="fsi-20230630.xsd#InterimConsolidatedBalanceSheets" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/InterimConsolidatedBalanceSheetsParenthetical" xlink:href="fsi-20230630.xsd#InterimConsolidatedBalanceSheetsParenthetical" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfOperationsAndComprehensiveIncome" xlink:href="fsi-20230630.xsd#InterimConsolidatedStatementsOfOperationsAndComprehensiveIncome" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfCashFlows" xlink:href="fsi-20230630.xsd#InterimConsolidatedStatementsOfCashFlows" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfStockholdersEquity" xlink:href="fsi-20230630.xsd#InterimConsolidatedStatementsOfStockholdersEquity" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/BasisOfPresentation" xlink:href="fsi-20230630.xsd#BasisOfPresentation" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/SignificantAccountingPolicies" xlink:href="fsi-20230630.xsd#SignificantAccountingPolicies" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/Leases." xlink:href="fsi-20230630.xsd#Leases." xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/AccountsReceivable." xlink:href="fsi-20230630.xsd#AccountsReceivable." xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/Inventories." xlink:href="fsi-20230630.xsd#Inventories." xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/PropertyEquipmentLeaseholds." xlink:href="fsi-20230630.xsd#PropertyEquipmentLeaseholds." xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/Patents." xlink:href="fsi-20230630.xsd#Patents." xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/GoodwillAndIndefiniteLivedIntangibleAssets." xlink:href="fsi-20230630.xsd#GoodwillAndIndefiniteLivedIntangibleAssets." xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/LongTermDeposits." xlink:href="fsi-20230630.xsd#LongTermDeposits." xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/Investments." xlink:href="fsi-20230630.xsd#Investments." xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/Short-termLineOfCredit." xlink:href="fsi-20230630.xsd#Short-termLineOfCredit." xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/LongTermDebt." xlink:href="fsi-20230630.xsd#LongTermDebt." xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/StockOptions." xlink:href="fsi-20230630.xsd#StockOptions." xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/CapitalStock" xlink:href="fsi-20230630.xsd#CapitalStock" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/Non-controllingInterests" xlink:href="fsi-20230630.xsd#Non-controllingInterests" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/SegmentedSignificantCustomerInformationAndEconomicDependency" xlink:href="fsi-20230630.xsd#SegmentedSignificantCustomerInformationAndEconomicDependency" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ComparativeFigures" xlink:href="fsi-20230630.xsd#ComparativeFigures" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/SubsequentEvents" xlink:href="fsi-20230630.xsd#SubsequentEvents" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/SignificantAccountingPoliciesPolicies" xlink:href="fsi-20230630.xsd#SignificantAccountingPoliciesPolicies" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/SignificantAccountingPoliciesTables" xlink:href="fsi-20230630.xsd#SignificantAccountingPoliciesTables" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/Leases.Tables" xlink:href="fsi-20230630.xsd#Leases.Tables" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/AccountsReceivable.Tables" xlink:href="fsi-20230630.xsd#AccountsReceivable.Tables" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/Inventories.Tables" xlink:href="fsi-20230630.xsd#Inventories.Tables" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/PropertyEquipmentLeaseholds.Tables" xlink:href="fsi-20230630.xsd#PropertyEquipmentLeaseholds.Tables" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/Patents.Tables" xlink:href="fsi-20230630.xsd#Patents.Tables" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/GoodwillAndIndefiniteLivedIntangibleAssets.Tables" xlink:href="fsi-20230630.xsd#GoodwillAndIndefiniteLivedIntangibleAssets.Tables" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/LongTermDeposits.Tables" xlink:href="fsi-20230630.xsd#LongTermDeposits.Tables" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/Investments.Tables" xlink:href="fsi-20230630.xsd#Investments.Tables" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/LongTermDebt.Tables" xlink:href="fsi-20230630.xsd#LongTermDebt.Tables" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/StockOptions.Tables" xlink:href="fsi-20230630.xsd#StockOptions.Tables" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/Non-controllingInterestsTables" xlink:href="fsi-20230630.xsd#Non-controllingInterestsTables" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/SegmentedSignificantCustomerInformationAndEconomicDependencyTables" xlink:href="fsi-20230630.xsd#SegmentedSignificantCustomerInformationAndEconomicDependencyTables" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/BasisOfPresentationDetailsNarrative" xlink:href="fsi-20230630.xsd#BasisOfPresentationDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfMethodOfDepreciationDetails" xlink:href="fsi-20230630.xsd#ScheduleOfMethodOfDepreciationDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/SignificantAccountingPoliciesDetailsNarrative" xlink:href="fsi-20230630.xsd#SignificantAccountingPoliciesDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/SummaryOfRight-of-useAssetAndLeaseLiabilityDetails" xlink:href="fsi-20230630.xsd#SummaryOfRight-of-useAssetAndLeaseLiabilityDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfUndiscountedRentPaymentsDetails" xlink:href="fsi-20230630.xsd#ScheduleOfUndiscountedRentPaymentsDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/Leases.DetailsNarrative" xlink:href="fsi-20230630.xsd#Leases.DetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfAccountsReceivableDetails" xlink:href="fsi-20230630.xsd#ScheduleOfAccountsReceivableDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfInventoryDetails" xlink:href="fsi-20230630.xsd#ScheduleOfInventoryDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfPropertyEquipmentAndLeaseholdsDetails" xlink:href="fsi-20230630.xsd#ScheduleOfPropertyEquipmentAndLeaseholdsDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/PropertyEquipmentLeaseholds.DetailsNarrative" xlink:href="fsi-20230630.xsd#PropertyEquipmentLeaseholds.DetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfPatentsDetails" xlink:href="fsi-20230630.xsd#ScheduleOfPatentsDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfGoodwillAndIndefiniteLivedIntangibleAssetsDetails" xlink:href="fsi-20230630.xsd#ScheduleOfGoodwillAndIndefiniteLivedIntangibleAssetsDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfEstimatedFutureAmortizationExpenseDetails" xlink:href="fsi-20230630.xsd#ScheduleOfEstimatedFutureAmortizationExpenseDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/Patents.DetailsNarrative" xlink:href="fsi-20230630.xsd#Patents.DetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfLongTermDepositsDetails" xlink:href="fsi-20230630.xsd#ScheduleOfLongTermDepositsDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfFairValuesOfAssetsAcquiredAndLiabilitiesAssumedDetails" xlink:href="fsi-20230630.xsd#ScheduleOfFairValuesOfAssetsAcquiredAndLiabilitiesAssumedDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfEquityMethodInvestmentDetails" xlink:href="fsi-20230630.xsd#ScheduleOfEquityMethodInvestmentDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/SummaryOfProfitAndLossInformationRelatedToEquityAccountedInvestmentDetails" xlink:href="fsi-20230630.xsd#SummaryOfProfitAndLossInformationRelatedToEquityAccountedInvestmentDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/Investments.DetailsNarrative" xlink:href="fsi-20230630.xsd#Investments.DetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/Short-termLineOfCredit.DetailsNarrative" xlink:href="fsi-20230630.xsd#Short-termLineOfCredit.DetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfLoanCovenantsDetails" xlink:href="fsi-20230630.xsd#ScheduleOfLoanCovenantsDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfOutstandingBalanceLoanDetails" xlink:href="fsi-20230630.xsd#ScheduleOfOutstandingBalanceLoanDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/LongTermDebt.DetailsNarrative" xlink:href="fsi-20230630.xsd#LongTermDebt.DetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfStockOptionActivitiesDetails" xlink:href="fsi-20230630.xsd#ScheduleOfStockOptionActivitiesDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfStockOptionFairValueAssumptionsDetails" xlink:href="fsi-20230630.xsd#ScheduleOfStockOptionFairValueAssumptionsDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/StockOptions.DetailsNarrative" xlink:href="fsi-20230630.xsd#StockOptions.DetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/CapitalStockDetailsNarrative" xlink:href="fsi-20230630.xsd#CapitalStockDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfDistributionsDetails" xlink:href="fsi-20230630.xsd#ScheduleOfDistributionsDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfNonControllingInterestRelatedToAcquisitionDetails" xlink:href="fsi-20230630.xsd#ScheduleOfNonControllingInterestRelatedToAcquisitionDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/Non-controllingInterestsDetailsNarrative" xlink:href="fsi-20230630.xsd#Non-controllingInterestsDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfReportableSegmentsDetails" xlink:href="fsi-20230630.xsd#ScheduleOfReportableSegmentsDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfRevenueGeneratedInUnitedStatesAndCanadaDetails" xlink:href="fsi-20230630.xsd#ScheduleOfRevenueGeneratedInUnitedStatesAndCanadaDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfLong-livedAssetsAreLocatedInCanadaAndUnitedStatesDetails" xlink:href="fsi-20230630.xsd#ScheduleOfLong-livedAssetsAreLocatedInCanadaAndUnitedStatesDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/SegmentedSignificantCustomerInformationAndEconomicDependencyDetailsNarrative" xlink:href="fsi-20230630.xsd#SegmentedSignificantCustomerInformationAndEconomicDependencyDetailsNarrative" xlink:type="simple" />
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/Cover" xlink:title="00000001 - Document - Cover">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_CoverAbstract" xlink:label="loc_deiCoverAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/InterimConsolidatedBalanceSheets" xlink:title="00000002 - Statement - Condensed Interim Consolidated Balance Sheets">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementOfFinancialPositionAbstract" xlink:label="loc_us-gaapStatementOfFinancialPositionAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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-gaapAssetsAbstract" xlink:to="loc_us-gaapCashAndCashEquivalentsAtCarryingValue" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DepositsAssetsCurrent" xlink:label="loc_us-gaapDepositsAssetsCurrent" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAssetsAbstract" xlink:to="loc_us-gaapDepositsAssetsCurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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-gaapAssetsAbstract" xlink:to="loc_us-gaapAccountsReceivableNetCurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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-gaapAssetsAbstract" xlink:to="loc_us-gaapInventoryNet" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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-gaapAssetsAbstract" xlink:to="loc_us-gaapPrepaidExpenseCurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsCurrent" xlink:label="loc_us-gaapAssetsCurrent" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAssetsAbstract" 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/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="loc_us-gaapPropertyPlantAndEquipmentNet" />
      <link:presentationArc order="80" 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/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseRightOfUseAsset" xlink:label="loc_us-gaapOperatingLeaseRightOfUseAsset" />
      <link:presentationArc order="90" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAssetsAbstract" xlink:to="loc_us-gaapOperatingLeaseRightOfUseAsset" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:label="loc_us-gaapIntangibleAssetsNetExcludingGoodwill" />
      <link:presentationArc order="100" 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/2023/elts/us-gaap-2023.xsd#us-gaap_DepositsAssetsNoncurrent" xlink:label="loc_us-gaapDepositsAssetsNoncurrent" />
      <link:presentationArc order="110" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAssetsAbstract" xlink:to="loc_us-gaapDepositsAssetsNoncurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityMethodInvestments" xlink:label="loc_us-gaapEquityMethodInvestments" />
      <link:presentationArc order="120" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAssetsAbstract" xlink:to="loc_us-gaapEquityMethodInvestments" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Goodwill" xlink:label="loc_us-gaapGoodwill" />
      <link:presentationArc order="130" 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/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredIncomeTaxAssetsNet" xlink:label="loc_us-gaapDeferredIncomeTaxAssetsNet" />
      <link:presentationArc order="140" 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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesAbstract" xlink:label="loc_us-gaapLiabilitiesAbstract" />
      <link:presentationArc order="160" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfFinancialPositionAbstract" xlink:to="loc_us-gaapLiabilitiesAbstract" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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-gaapLiabilitiesAbstract" xlink:to="loc_us-gaapLiabilitiesCurrentAbstract" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredRevenueCurrent" xlink:label="loc_us-gaapDeferredRevenueCurrent" />
      <link:presentationArc order="200" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLiabilitiesCurrentAbstract" xlink:to="loc_us-gaapDeferredRevenueCurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TaxesPayableCurrent" xlink:label="loc_us-gaapTaxesPayableCurrent" />
      <link:presentationArc order="210" 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/2023/elts/us-gaap-2023.xsd#us-gaap_LinesOfCreditCurrent" xlink:label="loc_us-gaapLinesOfCreditCurrent" />
      <link:presentationArc order="220" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLiabilitiesCurrentAbstract" xlink:to="loc_us-gaapLinesOfCreditCurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiabilityCurrent" xlink:label="loc_us-gaapOperatingLeaseLiabilityCurrent" />
      <link:presentationArc order="230" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLiabilitiesCurrentAbstract" xlink:to="loc_us-gaapOperatingLeaseLiabilityCurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongTermDebtCurrent" xlink:label="loc_us-gaapLongTermDebtCurrent" />
      <link:presentationArc order="240" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLiabilitiesCurrentAbstract" xlink:to="loc_us-gaapLongTermDebtCurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesCurrent" xlink:label="loc_us-gaapLiabilitiesCurrent" />
      <link:presentationArc order="250" 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/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:label="loc_us-gaapOperatingLeaseLiabilityNoncurrent" />
      <link:presentationArc order="260" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLiabilitiesAbstract" xlink:to="loc_us-gaapOperatingLeaseLiabilityNoncurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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-gaapLiabilitiesAbstract" xlink:to="loc_us-gaapDeferredIncomeTaxLiabilitiesNet" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongTermDebtNoncurrent" xlink:label="loc_us-gaapLongTermDebtNoncurrent" />
      <link:presentationArc order="280" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLiabilitiesAbstract" xlink:to="loc_us-gaapLongTermDebtNoncurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Liabilities" xlink:label="loc_us-gaapLiabilities" />
      <link:presentationArc order="290" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLiabilitiesAbstract" 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/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquityAbstract" xlink:label="loc_us-gaapStockholdersEquityAbstract" />
      <link:presentationArc order="300" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLiabilitiesAbstract" xlink:to="loc_us-gaapStockholdersEquityAbstract" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockValue" xlink:label="loc_us-gaapCommonStockValue" />
      <link:presentationArc order="310" 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/2023/elts/us-gaap-2023.xsd#us-gaap_AdditionalPaidInCapital" xlink:label="loc_us-gaapAdditionalPaidInCapital" />
      <link:presentationArc order="320" 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/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:label="loc_us-gaapAccumulatedOtherComprehensiveIncomeLossNetOfTax" />
      <link:presentationArc order="330" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStockholdersEquityAbstract" xlink:to="loc_us-gaapAccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RetainedEarningsAccumulatedDeficit" xlink:label="loc_us-gaapRetainedEarningsAccumulatedDeficit" />
      <link:presentationArc order="340" 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/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquity" xlink:label="loc_us-gaapStockholdersEquity" />
      <link:presentationArc order="350" 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/2023/elts/us-gaap-2023.xsd#us-gaap_MinorityInterest" xlink:label="loc_us-gaapMinorityInterest" />
      <link:presentationArc order="360" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStockholdersEquityAbstract" xlink:to="loc_us-gaapMinorityInterest" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" xlink:label="loc_us-gaapStockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" />
      <link:presentationArc order="370" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStockholdersEquityAbstract" xlink:to="loc_us-gaapStockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesAndStockholdersEquity" xlink:label="loc_us-gaapLiabilitiesAndStockholdersEquity" />
      <link:presentationArc order="380" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLiabilitiesAbstract" 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://flexiblesolutions.com/role/InterimConsolidatedBalanceSheetsParenthetical" xlink:title="00000003 - Statement - Condensed Interim Consolidated Balance Sheets (Parenthetical)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementOfFinancialPositionAbstract" xlink:label="loc_us-gaapStatementOfFinancialPositionAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockSharesAuthorized" xlink:label="loc_us-gaapCommonStockSharesAuthorized" />
      <link:presentationArc order="0" 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/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockParOrStatedValuePerShare" xlink:label="loc_us-gaapCommonStockParOrStatedValuePerShare" />
      <link:presentationArc order="10" 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/2023/elts/us-gaap-2023.xsd#us-gaap_PreferredStockSharesAuthorized" xlink:label="loc_us-gaapPreferredStockSharesAuthorized" />
      <link:presentationArc order="20" 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/2023/elts/us-gaap-2023.xsd#us-gaap_PreferredStockParOrStatedValuePerShare" xlink:label="loc_us-gaapPreferredStockParOrStatedValuePerShare" />
      <link:presentationArc order="30" 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/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockSharesIssued" xlink:label="loc_us-gaapCommonStockSharesIssued" />
      <link:presentationArc order="40" 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/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockSharesOutstanding" xlink:label="loc_us-gaapCommonStockSharesOutstanding" />
      <link:presentationArc order="50" 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://flexiblesolutions.com/role/InterimConsolidatedStatementsOfOperationsAndComprehensiveIncome" xlink:title="00000004 - Statement - Condensed Interim Consolidated Statements of Operations and Comprehensive Income (Unaudited)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeStatementAbstract" xlink:label="loc_us-gaapIncomeStatementAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_CostOfGoodsAndServicesSold" xlink:label="loc_us-gaapCostOfGoodsAndServicesSold" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeStatementAbstract" xlink:to="loc_us-gaapCostOfGoodsAndServicesSold" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_SalariesAndWages" xlink:label="loc_us-gaapSalariesAndWages" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOperatingExpensesAbstract" xlink:to="loc_us-gaapSalariesAndWages" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OfficersCompensation" xlink:label="loc_us-gaapOfficersCompensation" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOperatingExpensesAbstract" xlink:to="loc_us-gaapOfficersCompensation" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GeneralInsuranceExpense" xlink:label="loc_us-gaapGeneralInsuranceExpense" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOperatingExpensesAbstract" xlink:to="loc_us-gaapGeneralInsuranceExpense" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InterestExpense" xlink:label="loc_us-gaapInterestExpense" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOperatingExpensesAbstract" xlink:to="loc_us-gaapInterestExpense" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProfessionalFees" xlink:label="loc_us-gaapProfessionalFees" />
      <link:presentationArc order="80" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOperatingExpensesAbstract" xlink:to="loc_us-gaapProfessionalFees" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherGeneralExpense" xlink:label="loc_us-gaapOtherGeneralExpense" />
      <link:presentationArc order="90" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOperatingExpensesAbstract" xlink:to="loc_us-gaapOtherGeneralExpense" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_Consulting" xlink:label="loc_FSIConsulting" />
      <link:presentationArc order="100" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOperatingExpensesAbstract" xlink:to="loc_FSIConsulting" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TravelAndEntertainmentExpense" xlink:label="loc_us-gaapTravelAndEntertainmentExpense" />
      <link:presentationArc order="110" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOperatingExpensesAbstract" xlink:to="loc_us-gaapTravelAndEntertainmentExpense" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SellingAndMarketingExpense" xlink:label="loc_us-gaapSellingAndMarketingExpense" />
      <link:presentationArc order="120" 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="fsi-20230630.xsd#FSI_InvestorRelationsAndTransferAgentFee" xlink:label="loc_FSIInvestorRelationsAndTransferAgentFee" />
      <link:presentationArc order="130" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOperatingExpensesAbstract" xlink:to="loc_FSIInvestorRelationsAndTransferAgentFee" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseExpense" xlink:label="loc_us-gaapOperatingLeaseExpense" />
      <link:presentationArc order="140" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOperatingExpensesAbstract" xlink:to="loc_us-gaapOperatingLeaseExpense" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ResearchAndDevelopmentExpense" xlink:label="loc_us-gaapResearchAndDevelopmentExpense" />
      <link:presentationArc order="150" 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/2023/elts/us-gaap-2023.xsd#us-gaap_ForeignCurrencyTransactionGainLossBeforeTax" xlink:label="loc_us-gaapForeignCurrencyTransactionGainLossBeforeTax" />
      <link:presentationArc order="160" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOperatingExpensesAbstract" xlink:to="loc_us-gaapForeignCurrencyTransactionGainLossBeforeTax" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommunicationsAndInformationTechnology" xlink:label="loc_us-gaapCommunicationsAndInformationTechnology" />
      <link:presentationArc order="170" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOperatingExpensesAbstract" xlink:to="loc_us-gaapCommunicationsAndInformationTechnology" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UtilitiesOperatingExpense" xlink:label="loc_us-gaapUtilitiesOperatingExpense" />
      <link:presentationArc order="180" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOperatingExpensesAbstract" xlink:to="loc_us-gaapUtilitiesOperatingExpense" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_ShippingCost" xlink:label="loc_FSIShippingCost" />
      <link:presentationArc order="190" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOperatingExpensesAbstract" xlink:to="loc_FSIShippingCost" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_Commissions" xlink:label="loc_FSICommissions" />
      <link:presentationArc order="200" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOperatingExpensesAbstract" xlink:to="loc_FSICommissions" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingExpenses" xlink:label="loc_us-gaapOperatingExpenses" />
      <link:presentationArc order="210" 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/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingIncomeLoss" xlink:label="loc_us-gaapOperatingIncomeLoss" />
      <link:presentationArc order="220" 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="fsi-20230630.xsd#FSI_GainOnAcquisitionOfSubsidiaries" xlink:label="loc_FSIGainOnAcquisitionOfSubsidiaries" />
      <link:presentationArc order="230" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeStatementAbstract" xlink:to="loc_FSIGainOnAcquisitionOfSubsidiaries" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GainLossOnInvestments" xlink:label="loc_us-gaapGainLossOnInvestments" />
      <link:presentationArc order="240" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeStatementAbstract" xlink:to="loc_us-gaapGainLossOnInvestments" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InterestIncomeOther" xlink:label="loc_us-gaapInterestIncomeOther" />
      <link:presentationArc order="250" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeStatementAbstract" xlink:to="loc_us-gaapInterestIncomeOther" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:label="loc_us-gaapIncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" />
      <link:presentationArc order="260" 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/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredIncomeTaxesAndTaxCreditsAbstract" xlink:label="loc_us-gaapDeferredIncomeTaxesAndTaxCreditsAbstract" />
      <link:presentationArc order="270" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeStatementAbstract" xlink:to="loc_us-gaapDeferredIncomeTaxesAndTaxCreditsAbstract" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="loc_us-gaapIncomeTaxExpenseBenefit" />
      <link:presentationArc order="280" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDeferredIncomeTaxesAndTaxCreditsAbstract" xlink:to="loc_us-gaapIncomeTaxExpenseBenefit" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProfitLoss" xlink:label="loc_us-gaapProfitLoss" />
      <link:presentationArc order="290" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeStatementAbstract" xlink:to="loc_us-gaapProfitLoss" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLossAttributableToNoncontrollingInterest" xlink:label="loc_us-gaapNetIncomeLossAttributableToNoncontrollingInterest" />
      <link:presentationArc order="300" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeStatementAbstract" xlink:to="loc_us-gaapNetIncomeLossAttributableToNoncontrollingInterest" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLoss" xlink:label="loc_us-gaapNetIncomeLoss" />
      <link:presentationArc order="310" 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/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareBasic" xlink:label="loc_us-gaapEarningsPerShareBasic" />
      <link:presentationArc order="320" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeStatementAbstract" xlink:to="loc_us-gaapEarningsPerShareBasic" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareDiluted" xlink:label="loc_us-gaapEarningsPerShareDiluted" />
      <link:presentationArc order="330" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeStatementAbstract" xlink:to="loc_us-gaapEarningsPerShareDiluted" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:label="loc_us-gaapWeightedAverageNumberOfSharesOutstandingBasic" />
      <link:presentationArc order="340" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeStatementAbstract" xlink:to="loc_us-gaapWeightedAverageNumberOfSharesOutstandingBasic" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:label="loc_us-gaapWeightedAverageNumberOfDilutedSharesOutstanding" />
      <link:presentationArc order="350" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeStatementAbstract" xlink:to="loc_us-gaapWeightedAverageNumberOfDilutedSharesOutstanding" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract" xlink:label="loc_us-gaapOtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract" />
      <link:presentationArc order="360" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeStatementAbstract" xlink:to="loc_us-gaapOtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProfitLoss" xlink:label="loc_us-gaapProfitLoss_2" />
      <link:presentationArc order="370" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract" xlink:to="loc_us-gaapProfitLoss_2" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:label="loc_us-gaapOtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" />
      <link:presentationArc order="380" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract" xlink:to="loc_us-gaapOtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest" xlink:label="loc_us-gaapComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest" />
      <link:presentationArc order="390" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract" xlink:to="loc_us-gaapComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest" xlink:label="loc_us-gaapComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest" />
      <link:presentationArc order="400" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract" xlink:to="loc_us-gaapComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ComprehensiveIncomeNetOfTax" xlink:label="loc_us-gaapComprehensiveIncomeNetOfTax" />
      <link:presentationArc order="410" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract" xlink:to="loc_us-gaapComprehensiveIncomeNetOfTax" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfCashFlows" xlink:title="00000005 - Statement - Condensed Interim Consolidated Statements of Cash Flows (Unaudited)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementOfCashFlowsAbstract" xlink:label="loc_us-gaapStatementOfCashFlowsAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_ProfitLoss" xlink:label="loc_us-gaapProfitLoss" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="loc_us-gaapProfitLoss" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensation" xlink:label="loc_us-gaapShareBasedCompensation" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="loc_us-gaapShareBasedCompensation" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DepreciationAndAmortization" xlink:label="loc_us-gaapDepreciationAndAmortization" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="loc_us-gaapDepreciationAndAmortization" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseRightOfUseAssetAmortization" xlink:label="loc_us-gaapFinanceLeaseRightOfUseAssetAmortization" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="loc_us-gaapFinanceLeaseRightOfUseAssetAmortization" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_LeaseRightOfUseFinancing" xlink:label="loc_FSILeaseRightOfUseFinancing" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="loc_FSILeaseRightOfUseFinancing" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GainLossOnInvestments" xlink:label="loc_us-gaapGainLossOnInvestments" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="loc_us-gaapGainLossOnInvestments" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_GainOnAcquisitionOfSubsidiaries" xlink:label="loc_FSIGainOnAcquisitionOfSubsidiaries" />
      <link:presentationArc order="80" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="loc_FSIGainOnAcquisitionOfSubsidiaries" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInInventories" xlink:label="loc_us-gaapIncreaseDecreaseInInventories" />
      <link:presentationArc order="110" 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/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInPrepaidExpense" xlink:label="loc_us-gaapIncreaseDecreaseInPrepaidExpense" />
      <link:presentationArc order="120" 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/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities" xlink:label="loc_us-gaapIncreaseDecreaseInAccountsPayableAndAccruedLiabilities" />
      <link:presentationArc order="130" 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/2023/elts/us-gaap-2023.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" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInContractWithCustomerLiability" xlink:label="loc_us-gaapIncreaseDecreaseInContractWithCustomerLiability" />
      <link:presentationArc order="150" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncreaseDecreaseInOperatingCapitalAbstract" xlink:to="loc_us-gaapIncreaseDecreaseInContractWithCustomerLiability" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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="fsi-20230630.xsd#FSI_ProceedsFromNoncontrollingInterest" xlink:label="loc_FSIProceedsFromNoncontrollingInterest" />
      <link:presentationArc order="180" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="loc_FSIProceedsFromNoncontrollingInterest" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired" xlink:label="loc_us-gaapPaymentsToAcquireBusinessesNetOfCashAcquired" />
      <link:presentationArc order="190" 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/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToAcquireInvestments" xlink:label="loc_us-gaapPaymentsToAcquireInvestments" />
      <link:presentationArc order="200" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="loc_us-gaapPaymentsToAcquireInvestments" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromSaleOfEquityMethodInvestments" xlink:label="loc_us-gaapProceedsFromSaleOfEquityMethodInvestments" />
      <link:presentationArc order="210" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="loc_us-gaapProceedsFromSaleOfEquityMethodInvestments" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_DepositsOnPurchasesOfEquipment" xlink:label="loc_FSIDepositsOnPurchasesOfEquipment" />
      <link:presentationArc order="220" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="loc_FSIDepositsOnPurchasesOfEquipment" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:label="loc_us-gaapPaymentsToAcquirePropertyPlantAndEquipment" />
      <link:presentationArc order="230" 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/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:label="loc_us-gaapNetCashProvidedByUsedInInvestingActivities" />
      <link:presentationArc order="240" 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/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:label="loc_us-gaapNetCashProvidedByUsedInFinancingActivitiesAbstract" />
      <link:presentationArc order="250" 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/2023/elts/us-gaap-2023.xsd#us-gaap_RepaymentsOfShortTermDebt" xlink:label="loc_us-gaapRepaymentsOfShortTermDebt" />
      <link:presentationArc order="260" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="loc_us-gaapRepaymentsOfShortTermDebt" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RepaymentsOfLongTermDebt" xlink:label="loc_us-gaapRepaymentsOfLongTermDebt" />
      <link:presentationArc order="270" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="loc_us-gaapRepaymentsOfLongTermDebt" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromIssuanceOfLongTermDebt" xlink:label="loc_us-gaapProceedsFromIssuanceOfLongTermDebt" />
      <link:presentationArc order="280" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="loc_us-gaapProceedsFromIssuanceOfLongTermDebt" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsOfDividends" xlink:label="loc_us-gaapPaymentsOfDividends" />
      <link:presentationArc order="290" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="loc_us-gaapPaymentsOfDividends" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsOfFinancingCosts" xlink:label="loc_us-gaapPaymentsOfFinancingCosts" />
      <link:presentationArc order="300" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="loc_us-gaapPaymentsOfFinancingCosts" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToMinorityShareholders" xlink:label="loc_us-gaapPaymentsToMinorityShareholders" />
      <link:presentationArc order="310" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="loc_us-gaapPaymentsToMinorityShareholders" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromIssuanceOfCommonStock" xlink:label="loc_us-gaapProceedsFromIssuanceOfCommonStock" />
      <link:presentationArc order="320" 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="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:label="loc_us-gaapNetCashProvidedByUsedInFinancingActivities" />
      <link:presentationArc order="330" 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/2023/elts/us-gaap-2023.xsd#us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:label="loc_us-gaapEffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" />
      <link:presentationArc order="340" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfCashFlowsAbstract" xlink:to="loc_us-gaapEffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:label="loc_us-gaapCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" />
      <link:presentationArc order="350" 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/2023/elts/us-gaap-2023.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:label="loc_us-gaapCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" />
      <link:presentationArc order="360" 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/2023/elts/us-gaap-2023.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:label="loc_us-gaapCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations_2" />
      <link:presentationArc order="370" 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/2023/elts/us-gaap-2023.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsAbstract" xlink:label="loc_us-gaapCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsAbstract" />
      <link:presentationArc order="380" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfCashFlowsAbstract" xlink:to="loc_us-gaapCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsAbstract" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashEquivalentsAtCarryingValue" xlink:label="loc_us-gaapCashEquivalentsAtCarryingValue" />
      <link:presentationArc order="390" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfCashFlowsAbstract" xlink:to="loc_us-gaapCashEquivalentsAtCarryingValue" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShortTermInvestments" xlink:label="loc_us-gaapShortTermInvestments" />
      <link:presentationArc order="400" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfCashFlowsAbstract" xlink:to="loc_us-gaapShortTermInvestments" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SupplementalCashFlowInformationAbstract" xlink:label="loc_us-gaapSupplementalCashFlowInformationAbstract" />
      <link:presentationArc order="410" 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/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxesPaidNet" xlink:label="loc_us-gaapIncomeTaxesPaidNet" />
      <link:presentationArc order="420" 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/2023/elts/us-gaap-2023.xsd#us-gaap_InterestPaidNet" xlink:label="loc_us-gaapInterestPaidNet" />
      <link:presentationArc order="430" 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="fsi-20230630.xsd#FSI_InventoryAdditionsInAccountsPayable" xlink:label="loc_FSIInventoryAdditionsInAccountsPayable" />
      <link:presentationArc order="440" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapSupplementalCashFlowInformationAbstract" xlink:to="loc_FSIInventoryAdditionsInAccountsPayable" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfStockholdersEquity" xlink:title="00000006 - Statement - Condensed Interim Consolidated Statements of Stockholders&apos; Equity (Unaudited)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementOfStockholdersEquityAbstract" xlink:label="loc_us-gaapStatementOfStockholdersEquityAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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="70" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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-gaapStatementEquityComponentsAxis" xlink:to="loc_us-gaapCommonStockMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_CapitalInExcessOfParValueMember" xlink:label="loc_FSICapitalInExcessOfParValueMember" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementEquityComponentsAxis" xlink:to="loc_FSICapitalInExcessOfParValueMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RetainedEarningsMember" xlink:label="loc_us-gaapRetainedEarningsMember" />
      <link:presentationArc order="30" 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/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:label="loc_us-gaapAccumulatedOtherComprehensiveIncomeMember" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementEquityComponentsAxis" xlink:to="loc_us-gaapAccumulatedOtherComprehensiveIncomeMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ParentMember" xlink:label="loc_us-gaapParentMember" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementEquityComponentsAxis" xlink:to="loc_us-gaapParentMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NoncontrollingInterestMember" xlink:label="loc_us-gaapNoncontrollingInterestMember" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementEquityComponentsAxis" xlink:to="loc_us-gaapNoncontrollingInterestMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" xlink:label="loc_us-gaapStockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" xlink:label="loc_us-gaapOtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapOtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProfitLoss" xlink:label="loc_us-gaapProfitLoss" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapProfitLoss" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodValueNewIssues" xlink:label="loc_us-gaapStockIssuedDuringPeriodValueNewIssues" />
      <link:presentationArc order="50" 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/2023/elts/us-gaap-2023.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-gaapStatementLineItems" xlink:to="loc_us-gaapStockIssuedDuringPeriodSharesNewIssues" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:label="loc_us-gaapAdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapAdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Dividends" xlink:label="loc_us-gaapDividends" />
      <link:presentationArc order="80" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapDividends" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NoncontrollingInterestIncreaseFromBusinessCombination" xlink:label="loc_us-gaapNoncontrollingInterestIncreaseFromBusinessCombination" />
      <link:presentationArc order="90" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapNoncontrollingInterestIncreaseFromBusinessCombination" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders" xlink:label="loc_us-gaapMinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders" />
      <link:presentationArc order="100" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapMinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" xlink:label="loc_us-gaapStockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_2" />
      <link:presentationArc order="110" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_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/2023/elts/us-gaap-2023.xsd#us-gaap_SharesOutstanding" xlink:label="loc_us-gaapSharesOutstanding_2" />
      <link:presentationArc order="120" 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://flexiblesolutions.com/role/BasisOfPresentation" xlink:title="00000007 - Disclosure - BASIS OF PRESENTATION">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="loc_us-gaapAccountingPoliciesAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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://flexiblesolutions.com/role/SignificantAccountingPolicies" xlink:title="00000008 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="loc_us-gaapAccountingPoliciesAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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://flexiblesolutions.com/role/Leases." xlink:title="00000009 - Disclosure - LEASES.">
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_DisclosureLeases.Abstract" xlink:label="loc_FSIDisclosureLeases.Abstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeasesTextBlock" xlink:label="loc_us-gaapLesseeOperatingLeasesTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_FSIDisclosureLeases.Abstract" xlink:to="loc_us-gaapLesseeOperatingLeasesTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/AccountsReceivable." xlink:title="00000010 - Disclosure - ACCOUNTS RECEIVABLE.">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ReceivablesAbstract" xlink:label="loc_us-gaapReceivablesAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinancingReceivablesTextBlock" xlink:label="loc_us-gaapFinancingReceivablesTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapReceivablesAbstract" xlink:to="loc_us-gaapFinancingReceivablesTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/Inventories." xlink:title="00000011 - Disclosure - INVENTORIES.">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryDisclosureAbstract" xlink:label="loc_us-gaapInventoryDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryDisclosureTextBlock" xlink:label="loc_us-gaapInventoryDisclosureTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapInventoryDisclosureAbstract" xlink:to="loc_us-gaapInventoryDisclosureTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/PropertyEquipmentLeaseholds." xlink:title="00000012 - Disclosure - PROPERTY, EQUIPMENT &amp; LEASEHOLDS.">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentAbstract" xlink:label="loc_us-gaapPropertyPlantAndEquipmentAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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://flexiblesolutions.com/role/Patents." xlink:title="00000013 - Disclosure - PATENTS.">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:label="loc_us-gaapGoodwillAndIntangibleAssetsDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IntangibleAssetsDisclosureTextBlock" xlink:label="loc_us-gaapIntangibleAssetsDisclosureTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapGoodwillAndIntangibleAssetsDisclosureAbstract" xlink:to="loc_us-gaapIntangibleAssetsDisclosureTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/GoodwillAndIndefiniteLivedIntangibleAssets." xlink:title="00000014 - Disclosure - GOODWILL AND INDEFINITE LIVED INTANGIBLE ASSETS.">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:label="loc_us-gaapGoodwillAndIntangibleAssetsDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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://flexiblesolutions.com/role/LongTermDeposits." xlink:title="00000015 - Disclosure - LONG TERM DEPOSITS.">
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_DisclosureLongTermDeposits.Abstract" xlink:label="loc_FSIDisclosureLongTermDeposits.Abstract" />
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_LongTermDepositsTextBlock" xlink:label="loc_FSILongTermDepositsTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_FSIDisclosureLongTermDeposits.Abstract" xlink:to="loc_FSILongTermDepositsTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/Investments." xlink:title="00000016 - Disclosure - INVESTMENTS.">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityMethodInvestmentsAndJointVenturesAbstract" xlink:label="loc_us-gaapEquityMethodInvestmentsAndJointVenturesAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityMethodInvestmentsDisclosureTextBlock" xlink:label="loc_us-gaapEquityMethodInvestmentsDisclosureTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEquityMethodInvestmentsAndJointVenturesAbstract" xlink:to="loc_us-gaapEquityMethodInvestmentsDisclosureTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/Short-termLineOfCredit." xlink:title="00000017 - Disclosure - SHORT-TERM LINE OF CREDIT.">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtDisclosureAbstract" xlink:label="loc_us-gaapDebtDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShortTermDebtTextBlock" xlink:label="loc_us-gaapShortTermDebtTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDebtDisclosureAbstract" xlink:to="loc_us-gaapShortTermDebtTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/LongTermDebt." xlink:title="00000018 - Disclosure - LONG TERM DEBT.">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtDisclosureAbstract" xlink:label="loc_us-gaapDebtDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongTermDebtTextBlock" xlink:label="loc_us-gaapLongTermDebtTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDebtDisclosureAbstract" xlink:to="loc_us-gaapLongTermDebtTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/StockOptions." xlink:title="00000019 - Disclosure - STOCK OPTIONS.">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:label="loc_us-gaapDisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="loc_us-gaapDisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/CapitalStock" xlink:title="00000020 - Disclosure - CAPITAL STOCK">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityAbstract" xlink:label="loc_us-gaapEquityAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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://flexiblesolutions.com/role/Non-controllingInterests" xlink:title="00000021 - Disclosure - NON-CONTROLLING INTERESTS">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NoncontrollingInterestAbstract" xlink:label="loc_us-gaapNoncontrollingInterestAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MinorityInterestDisclosureTextBlock" xlink:label="loc_us-gaapMinorityInterestDisclosureTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNoncontrollingInterestAbstract" xlink:to="loc_us-gaapMinorityInterestDisclosureTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/SegmentedSignificantCustomerInformationAndEconomicDependency" xlink:title="00000022 - Disclosure - SEGMENTED, SIGNIFICANT CUSTOMER INFORMATION AND ECONOMIC DEPENDENCY">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentReportingAbstract" xlink:label="loc_us-gaapSegmentReportingAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentReportingDisclosureTextBlock" xlink:label="loc_us-gaapSegmentReportingDisclosureTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapSegmentReportingAbstract" xlink:to="loc_us-gaapSegmentReportingDisclosureTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ComparativeFigures" xlink:title="00000023 - Disclosure - COMPARATIVE FIGURES">
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_DisclosureComparativeFiguresAbstract" xlink:label="loc_FSIDisclosureComparativeFiguresAbstract" />
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_ComparativeFiguresTextBlock" xlink:label="loc_FSIComparativeFiguresTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_FSIDisclosureComparativeFiguresAbstract" xlink:to="loc_FSIComparativeFiguresTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/SubsequentEvents" xlink:title="00000024 - Disclosure - SUBSEQUENT EVENTS">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SubsequentEventsAbstract" xlink:label="loc_us-gaapSubsequentEventsAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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://flexiblesolutions.com/role/SignificantAccountingPoliciesPolicies" xlink:title="00000025 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES (Policies)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="loc_us-gaapAccountingPoliciesAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashAndCashEquivalentsPolicyTextBlock" xlink:label="loc_us-gaapCashAndCashEquivalentsPolicyTextBlock" />
      <link:presentationArc order="0" 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="fsi-20230630.xsd#FSI_TermDepositsPolicyTextBlock" xlink:label="loc_FSITermDepositsPolicyTextBlock" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract" xlink:to="loc_FSITermDepositsPolicyTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryPolicyTextBlock" xlink:label="loc_us-gaapInventoryPolicyTextBlock" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract" xlink:to="loc_us-gaapInventoryPolicyTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PremiumsReceivableAllowanceForDoubtfulAccountsEstimationMethodologyPolicy" xlink:label="loc_us-gaapPremiumsReceivableAllowanceForDoubtfulAccountsEstimationMethodologyPolicy" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract" xlink:to="loc_us-gaapPremiumsReceivableAllowanceForDoubtfulAccountsEstimationMethodologyPolicy" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentPolicyTextBlock" xlink:label="loc_us-gaapPropertyPlantAndEquipmentPolicyTextBlock" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract" xlink:to="loc_us-gaapPropertyPlantAndEquipmentPolicyTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock" xlink:label="loc_us-gaapImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract" xlink:to="loc_us-gaapImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock" xlink:label="loc_us-gaapForeignCurrencyTransactionsAndTranslationsPolicyTextBlock" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract" xlink:to="loc_us-gaapForeignCurrencyTransactionsAndTranslationsPolicyTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerPolicyTextBlock" xlink:label="loc_us-gaapRevenueFromContractWithCustomerPolicyTextBlock" />
      <link:presentationArc order="70" 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="fsi-20230630.xsd#FSI_StockIssuedInExchangeForServicesPolicyTextBlock" xlink:label="loc_FSIStockIssuedInExchangeForServicesPolicyTextBlock" />
      <link:presentationArc order="80" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract" xlink:to="loc_FSIStockIssuedInExchangeForServicesPolicyTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CompensationRelatedCostsPolicyTextBlock" xlink:label="loc_us-gaapCompensationRelatedCostsPolicyTextBlock" />
      <link:presentationArc order="90" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract" xlink:to="loc_us-gaapCompensationRelatedCostsPolicyTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ComprehensiveIncomePolicyPolicyTextBlock" xlink:label="loc_us-gaapComprehensiveIncomePolicyPolicyTextBlock" />
      <link:presentationArc order="100" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract" xlink:to="loc_us-gaapComprehensiveIncomePolicyPolicyTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerSharePolicyTextBlock" xlink:label="loc_us-gaapEarningsPerSharePolicyTextBlock" />
      <link:presentationArc order="110" 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/2023/elts/us-gaap-2023.xsd#us-gaap_UseOfEstimates" xlink:label="loc_us-gaapUseOfEstimates" />
      <link:presentationArc order="120" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract" xlink:to="loc_us-gaapUseOfEstimates" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueOfFinancialInstrumentsPolicy" xlink:label="loc_us-gaapFairValueOfFinancialInstrumentsPolicy" />
      <link:presentationArc order="130" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract" xlink:to="loc_us-gaapFairValueOfFinancialInstrumentsPolicy" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommitmentsAndContingenciesPolicyTextBlock" xlink:label="loc_us-gaapCommitmentsAndContingenciesPolicyTextBlock" />
      <link:presentationArc order="140" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract" xlink:to="loc_us-gaapCommitmentsAndContingenciesPolicyTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxPolicyTextBlock" xlink:label="loc_us-gaapIncomeTaxPolicyTextBlock" />
      <link:presentationArc order="150" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract" xlink:to="loc_us-gaapIncomeTaxPolicyTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskCreditRisk" xlink:label="loc_us-gaapConcentrationRiskCreditRisk" />
      <link:presentationArc order="160" 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/2023/elts/us-gaap-2023.xsd#us-gaap_EquityMethodInvestmentsPolicy" xlink:label="loc_us-gaapEquityMethodInvestmentsPolicy" />
      <link:presentationArc order="170" 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/2023/elts/us-gaap-2023.xsd#us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock" xlink:label="loc_us-gaapGoodwillAndIntangibleAssetsPolicyTextBlock" />
      <link:presentationArc order="180" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract" xlink:to="loc_us-gaapGoodwillAndIntangibleAssetsPolicyTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock" xlink:label="loc_us-gaapNewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock" />
      <link:presentationArc order="190" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract" xlink:to="loc_us-gaapNewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/SignificantAccountingPoliciesTables" xlink:title="00000026 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES (Tables)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="loc_us-gaapAccountingPoliciesAbstract" />
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_ScheduleOfMethodOfDepreciationTableTextBlock" xlink:label="loc_FSIScheduleOfMethodOfDepreciationTableTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract" xlink:to="loc_FSIScheduleOfMethodOfDepreciationTableTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/Leases.Tables" xlink:title="00000027 - Disclosure - LEASES. (Tables)">
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_DisclosureLeases.Abstract" xlink:label="loc_FSIDisclosureLeases.Abstract" />
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_SummaryOfRightofuseAssetAndLeaseLiabilityTableTextBlock" xlink:label="loc_FSISummaryOfRightofuseAssetAndLeaseLiabilityTableTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_FSIDisclosureLeases.Abstract" xlink:to="loc_FSISummaryOfRightofuseAssetAndLeaseLiabilityTableTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" xlink:label="loc_us-gaapLesseeOperatingLeaseLiabilityMaturityTableTextBlock" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_FSIDisclosureLeases.Abstract" xlink:to="loc_us-gaapLesseeOperatingLeaseLiabilityMaturityTableTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/AccountsReceivable.Tables" xlink:title="00000028 - Disclosure - ACCOUNTS RECEIVABLE. (Tables)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ReceivablesAbstract" xlink:label="loc_us-gaapReceivablesAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock" xlink:label="loc_us-gaapAccountsReceivableAllowanceForCreditLossTableTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapReceivablesAbstract" xlink:to="loc_us-gaapAccountsReceivableAllowanceForCreditLossTableTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/Inventories.Tables" xlink:title="00000029 - Disclosure - INVENTORIES. (Tables)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryDisclosureAbstract" xlink:label="loc_us-gaapInventoryDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfInventoryCurrentTableTextBlock" xlink:label="loc_us-gaapScheduleOfInventoryCurrentTableTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapInventoryDisclosureAbstract" xlink:to="loc_us-gaapScheduleOfInventoryCurrentTableTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/PropertyEquipmentLeaseholds.Tables" xlink:title="00000030 - Disclosure - PROPERTY, EQUIPMENT &amp; LEASEHOLDS. (Tables)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentAbstract" xlink:label="loc_us-gaapPropertyPlantAndEquipmentAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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://flexiblesolutions.com/role/Patents.Tables" xlink:title="00000031 - Disclosure - PATENTS. (Tables)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:label="loc_us-gaapGoodwillAndIntangibleAssetsDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/GoodwillAndIndefiniteLivedIntangibleAssets.Tables" xlink:title="00000032 - Disclosure - GOODWILL AND INDEFINITE LIVED INTANGIBLE ASSETS. (Tables)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:label="loc_us-gaapGoodwillAndIntangibleAssetsDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfIntangibleAssetsAndGoodwillTableTextBlock" xlink:label="loc_us-gaapScheduleOfIntangibleAssetsAndGoodwillTableTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapGoodwillAndIntangibleAssetsDisclosureAbstract" xlink:to="loc_us-gaapScheduleOfIntangibleAssetsAndGoodwillTableTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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://flexiblesolutions.com/role/LongTermDeposits.Tables" xlink:title="00000033 - Disclosure - LONG TERM DEPOSITS. (Tables)">
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_DisclosureLongTermDeposits.Abstract" xlink:label="loc_FSIDisclosureLongTermDeposits.Abstract" />
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_ScheduleOfLongTermDepositsTableTextBlock" xlink:label="loc_FSIScheduleOfLongTermDepositsTableTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_FSIDisclosureLongTermDeposits.Abstract" xlink:to="loc_FSIScheduleOfLongTermDepositsTableTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/Investments.Tables" xlink:title="00000034 - Disclosure - INVESTMENTS. (Tables)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityMethodInvestmentsAndJointVenturesAbstract" xlink:label="loc_us-gaapEquityMethodInvestmentsAndJointVenturesAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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-gaapEquityMethodInvestmentsAndJointVenturesAbstract" xlink:to="loc_us-gaapStatementTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="loc_deiLegalEntityAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_deiLegalEntityAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="loc_deiEntityDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiLegalEntityAxis" xlink:to="loc_deiEntityDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_EnpPeruInvestmentsLlcMember" xlink:label="loc_FSIEnpPeruInvestmentsLlcMember" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiEntityDomain" xlink:to="loc_FSIEnpPeruInvestmentsLlcMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_FloridaBasedLLCMember" xlink:label="loc_FSIFloridaBasedLLCMember" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiEntityDomain" xlink:to="loc_FSIFloridaBasedLLCMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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-gaapStatementLineItems" xlink:to="loc_us-gaapScheduleOfBusinessAcquisitionsByAcquisitionTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityMethodInvestmentsTextBlock" xlink:label="loc_us-gaapEquityMethodInvestmentsTextBlock" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapEquityMethodInvestmentsTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GainLossOnInvestmentsTextBlock" xlink:label="loc_us-gaapGainLossOnInvestmentsTextBlock" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapGainLossOnInvestmentsTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/LongTermDebt.Tables" xlink:title="00000035 - Disclosure - LONG TERM DEBT. (Tables)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtDisclosureAbstract" xlink:label="loc_us-gaapDebtDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_ScheduleOfLoanCovenantsTableTextBlock" xlink:label="loc_FSIScheduleOfLoanCovenantsTableTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDebtDisclosureAbstract" xlink:to="loc_FSIScheduleOfLoanCovenantsTableTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfDebtInstrumentsTextBlock" xlink:label="loc_us-gaapScheduleOfDebtInstrumentsTextBlock" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDebtDisclosureAbstract" xlink:to="loc_us-gaapScheduleOfDebtInstrumentsTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/StockOptions.Tables" xlink:title="00000036 - Disclosure - STOCK OPTIONS. (Tables)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/Non-controllingInterestsTables" xlink:title="00000037 - Disclosure - NON-CONTROLLING INTERESTS (Tables)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NoncontrollingInterestAbstract" xlink:label="loc_us-gaapNoncontrollingInterestAbstract" />
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_ScheduleOfDistributionsTableTextBlock" xlink:label="loc_FSIScheduleOfDistributionsTableTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNoncontrollingInterestAbstract" xlink:to="loc_FSIScheduleOfDistributionsTableTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_ScheduleOfNonControllingInterestRelatedToAcquisitionTableTextBlock" xlink:label="loc_FSIScheduleOfNonControllingInterestRelatedToAcquisitionTableTextBlock" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNoncontrollingInterestAbstract" xlink:to="loc_FSIScheduleOfNonControllingInterestRelatedToAcquisitionTableTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/SegmentedSignificantCustomerInformationAndEconomicDependencyTables" xlink:title="00000038 - Disclosure - SEGMENTED, SIGNIFICANT CUSTOMER INFORMATION AND ECONOMIC DEPENDENCY (Tables)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentReportingAbstract" xlink:label="loc_us-gaapSegmentReportingAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ReconciliationOfRevenueFromSegmentsToConsolidatedTextBlock" xlink:label="loc_us-gaapReconciliationOfRevenueFromSegmentsToConsolidatedTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapSegmentReportingAbstract" xlink:to="loc_us-gaapReconciliationOfRevenueFromSegmentsToConsolidatedTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock" xlink:label="loc_us-gaapScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapSegmentReportingAbstract" xlink:to="loc_us-gaapScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock" xlink:label="loc_us-gaapScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapSegmentReportingAbstract" xlink:to="loc_us-gaapScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/BasisOfPresentationDetailsNarrative" xlink:title="00000039 - Disclosure - BASIS OF PRESENTATION (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="loc_us-gaapAccountingPoliciesAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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-gaapAccountingPoliciesAbstract" xlink:to="loc_us-gaapStatementTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/srt/2023/elts/srt-2023.xsd#srt_OwnershipAxis" xlink:label="loc_srtOwnershipAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_srtOwnershipAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_OwnershipDomain" xlink:label="loc_srtOwnershipDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtOwnershipAxis" xlink:to="loc_srtOwnershipDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_EnpPeruInvestmentsLlcMember" xlink:label="loc_FSIEnpPeruInvestmentsLlcMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtOwnershipDomain" xlink:to="loc_FSIEnpPeruInvestmentsLlcMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_ENPInvestmentsLLCAndENPMendotaMember" xlink:label="loc_FSIENPInvestmentsLLCAndENPMendotaMember" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtOwnershipDomain" xlink:to="loc_FSIENPInvestmentsLLCAndENPMendotaMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_ENPPeruMember" xlink:label="loc_FSIENPPeruMember" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtOwnershipDomain" xlink:to="loc_FSIENPPeruMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_MendotaLLCMember" xlink:label="loc_FSIMendotaLLCMember" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtOwnershipDomain" xlink:to="loc_FSIMendotaLLCMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" xlink:label="loc_us-gaapRelatedPartyTransactionsByRelatedPartyAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_us-gaapRelatedPartyTransactionsByRelatedPartyAxis" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RelatedPartyDomain" xlink:label="loc_us-gaapRelatedPartyDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRelatedPartyTransactionsByRelatedPartyAxis" xlink:to="loc_us-gaapRelatedPartyDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_UnrelatedPartyMember" xlink:label="loc_FSIUnrelatedPartyMember" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRelatedPartyDomain" xlink:to="loc_FSIUnrelatedPartyMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RelatedPartyMember" xlink:label="loc_us-gaapRelatedPartyMember" />
      <link:presentationArc order="80" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRelatedPartyDomain" xlink:to="loc_us-gaapRelatedPartyMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest" xlink:label="loc_us-gaapSubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapSubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_IncreaseDecreaseInSharePercentage" xlink:label="loc_FSIIncreaseDecreaseInSharePercentage" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_FSIIncreaseDecreaseInSharePercentage" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_RemainingInvestmentOwnedPercentage" xlink:label="loc_FSIRemainingInvestmentOwnedPercentage" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_FSIRemainingInvestmentOwnedPercentage" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfMethodOfDepreciationDetails" xlink:title="00000040 - Disclosure - SCHEDULE OF METHOD OF DEPRECIATION (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="loc_us-gaapAccountingPoliciesAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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-gaapAccountingPoliciesAbstract" xlink:to="loc_us-gaapScheduleOfPropertyPlantAndEquipmentTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_ComputerEquipmentMember" xlink:label="loc_us-gaapComputerEquipmentMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_us-gaapComputerEquipmentMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MachineryAndEquipmentMember" xlink:label="loc_us-gaapMachineryAndEquipmentMember" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_us-gaapMachineryAndEquipmentMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OfficeEquipmentMember" xlink:label="loc_us-gaapOfficeEquipmentMember" />
      <link:presentationArc order="30" 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="fsi-20230630.xsd#FSI_BoatMember" xlink:label="loc_FSIBoatMember" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_FSIBoatMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BuildingAndBuildingImprovementsMember" xlink:label="loc_us-gaapBuildingAndBuildingImprovementsMember" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_us-gaapBuildingAndBuildingImprovementsMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_TrailerMember" xlink:label="loc_FSITrailerMember" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_FSITrailerMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AutomobilesMember" xlink:label="loc_us-gaapAutomobilesMember" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_us-gaapAutomobilesMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PatentsMember" xlink:label="loc_us-gaapPatentsMember" />
      <link:presentationArc order="80" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_us-gaapPatentsMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TechnologyEquipmentMember" xlink:label="loc_us-gaapTechnologyEquipmentMember" />
      <link:presentationArc order="90" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_us-gaapTechnologyEquipmentMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LeaseholdImprovementsMember" xlink:label="loc_us-gaapLeaseholdImprovementsMember" />
      <link:presentationArc order="100" 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/2023/elts/us-gaap-2023.xsd#us-gaap_CustomerRelationshipsMember" xlink:label="loc_us-gaapCustomerRelationshipsMember" />
      <link:presentationArc order="110" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_us-gaapCustomerRelationshipsMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_SoftwareMember" xlink:label="loc_FSISoftwareMember" />
      <link:presentationArc order="120" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_FSISoftwareMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_DepreciationMethodUsedAndAnnualRate" xlink:label="loc_FSIDepreciationMethodUsedAndAnnualRate" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentLineItems" xlink:to="loc_FSIDepreciationMethodUsedAndAnnualRate" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/SignificantAccountingPoliciesDetailsNarrative" xlink:title="00000041 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="loc_us-gaapAccountingPoliciesAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/srt-2023.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-gaapScheduleOfProductInformationTable" xlink:to="loc_srtProductOrServiceAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.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="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShippingAndHandlingMember" xlink:label="loc_us-gaapShippingAndHandlingMember" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtProductsAndServicesDomain" xlink:to="loc_us-gaapShippingAndHandlingMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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="fsi-20230630.xsd#FSI_ThreePrimaryCustomersMember" xlink:label="loc_FSIThreePrimaryCustomersMember" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapConcentrationRiskTypeDomain" xlink:to="loc_FSIThreePrimaryCustomersMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerMember" xlink:label="loc_us-gaapRevenueFromContractWithCustomerMember" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapConcentrationRiskBenchmarkDomain" xlink:to="loc_us-gaapRevenueFromContractWithCustomerMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsReceivableMember" xlink:label="loc_us-gaapAccountsReceivableMember" />
      <link:presentationArc order="120" 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/srt/2023/elts/srt-2023.xsd#srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis" xlink:label="loc_srtScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfProductInformationTable" xlink:to="loc_srtScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis" order="40" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_EquityMethodInvesteeNameDomain" xlink:label="loc_srtEquityMethodInvesteeNameDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis" xlink:to="loc_srtEquityMethodInvesteeNameDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_InvestmentMember" xlink:label="loc_FSIInvestmentMember" />
      <link:presentationArc order="170" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtEquityMethodInvesteeNameDomain" xlink:to="loc_FSIInvestmentMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Deposits" xlink:label="loc_us-gaapDeposits" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapProductInformationLineItems" xlink:to="loc_us-gaapDeposits" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PercentageOfInterestBearingDomesticDepositsToDepositsTimeDeposits" xlink:label="loc_us-gaapPercentageOfInterestBearingDomesticDepositsToDepositsTimeDeposits" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapProductInformationLineItems" xlink:to="loc_us-gaapPercentageOfInterestBearingDomesticDepositsToDepositsTimeDeposits" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InterestPayableCurrentAndNoncurrent" xlink:label="loc_us-gaapInterestPayableCurrentAndNoncurrent" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapProductInformationLineItems" xlink:to="loc_us-gaapInterestPayableCurrentAndNoncurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_OtherTermDeposit" xlink:label="loc_FSIOtherTermDeposit" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapProductInformationLineItems" xlink:to="loc_FSIOtherTermDeposit" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="loc_us-gaapRevenueFromContractWithCustomerExcludingAssessedTax" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapProductInformationLineItems" xlink:to="loc_us-gaapRevenueFromContractWithCustomerExcludingAssessedTax" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CostOfGoodsAndServicesSold" xlink:label="loc_us-gaapCostOfGoodsAndServicesSold" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapProductInformationLineItems" xlink:to="loc_us-gaapCostOfGoodsAndServicesSold" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_ConcentrationRiskThresholdPercentage" xlink:label="loc_FSIConcentrationRiskThresholdPercentage" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapProductInformationLineItems" xlink:to="loc_FSIConcentrationRiskThresholdPercentage" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityMethodInvestmentDescriptionOfPrincipalActivities" xlink:label="loc_us-gaapEquityMethodInvestmentDescriptionOfPrincipalActivities" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapProductInformationLineItems" xlink:to="loc_us-gaapEquityMethodInvestmentDescriptionOfPrincipalActivities" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/SummaryOfRight-of-useAssetAndLeaseLiabilityDetails" xlink:title="00000042 - Disclosure - SUMMARY OF RIGHT-OF-USE ASSET AND LEASE LIABILITY (Details)">
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_DisclosureLeases.Abstract" xlink:label="loc_FSIDisclosureLeases.Abstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseRightOfUseAsset" xlink:label="loc_us-gaapOperatingLeaseRightOfUseAsset" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_FSIDisclosureLeases.Abstract" xlink:to="loc_us-gaapOperatingLeaseRightOfUseAsset" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense" xlink:label="loc_us-gaapOperatingLeaseRightOfUseAssetAmortizationExpense" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_FSIDisclosureLeases.Abstract" xlink:to="loc_us-gaapOperatingLeaseRightOfUseAssetAmortizationExpense" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseRightOfUseAsset" xlink:label="loc_us-gaapOperatingLeaseRightOfUseAsset_2" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_FSIDisclosureLeases.Abstract" xlink:to="loc_us-gaapOperatingLeaseRightOfUseAsset_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/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiability" xlink:label="loc_us-gaapOperatingLeaseLiability" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_FSIDisclosureLeases.Abstract" xlink:to="loc_us-gaapOperatingLeaseLiability" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_LeaseInterestExpense" xlink:label="loc_FSILeaseInterestExpense" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_FSIDisclosureLeases.Abstract" xlink:to="loc_FSILeaseInterestExpense" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeasePayments" xlink:label="loc_us-gaapOperatingLeasePayments" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_FSIDisclosureLeases.Abstract" xlink:to="loc_us-gaapOperatingLeasePayments" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiability" xlink:label="loc_us-gaapOperatingLeaseLiability_2" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_FSIDisclosureLeases.Abstract" xlink:to="loc_us-gaapOperatingLeaseLiability_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/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiabilityCurrent" xlink:label="loc_us-gaapOperatingLeaseLiabilityCurrent" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_FSIDisclosureLeases.Abstract" xlink:to="loc_us-gaapOperatingLeaseLiabilityCurrent" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:label="loc_us-gaapOperatingLeaseLiabilityNoncurrent" />
      <link:presentationArc order="80" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_FSIDisclosureLeases.Abstract" xlink:to="loc_us-gaapOperatingLeaseLiabilityNoncurrent" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiability" xlink:label="loc_us-gaapOperatingLeaseLiability_3" />
      <link:presentationArc order="90" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_FSIDisclosureLeases.Abstract" xlink:to="loc_us-gaapOperatingLeaseLiability_3" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfUndiscountedRentPaymentsDetails" xlink:title="00000043 - Disclosure - SCHEDULE OF UNDISCOUNTED RENT PAYMENTS (Details)">
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_DisclosureLeases.Abstract" xlink:label="loc_FSIDisclosureLeases.Abstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear" xlink:label="loc_us-gaapLesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_FSIDisclosureLeases.Abstract" xlink:to="loc_us-gaapLesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:label="loc_us-gaapLesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_FSIDisclosureLeases.Abstract" xlink:to="loc_us-gaapLesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:label="loc_us-gaapLesseeOperatingLeaseLiabilityPaymentsDueYearTwo" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_FSIDisclosureLeases.Abstract" xlink:to="loc_us-gaapLesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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_FSIDisclosureLeases.Abstract" xlink:to="loc_us-gaapLesseeOperatingLeaseLiabilityPaymentsDue" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:label="loc_us-gaapLesseeOperatingLeaseLiabilityUndiscountedExcessAmount" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_FSIDisclosureLeases.Abstract" xlink:to="loc_us-gaapLesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiability" xlink:label="loc_us-gaapOperatingLeaseLiability" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_FSIDisclosureLeases.Abstract" xlink:to="loc_us-gaapOperatingLeaseLiability" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/Leases.DetailsNarrative" xlink:title="00000044 - Disclosure - LEASES. (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_DisclosureLeases.Abstract" xlink:label="loc_FSIDisclosureLeases.Abstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseDiscountRate" xlink:label="loc_us-gaapLesseeOperatingLeaseDiscountRate" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_FSIDisclosureLeases.Abstract" xlink:to="loc_us-gaapLesseeOperatingLeaseDiscountRate" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfAccountsReceivableDetails" xlink:title="00000045 - Disclosure - SCHEDULE OF ACCOUNTS RECEIVABLE (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ReceivablesAbstract" xlink:label="loc_us-gaapReceivablesAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsReceivableGross" xlink:label="loc_us-gaapAccountsReceivableGross" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapReceivablesAbstract" xlink:to="loc_us-gaapAccountsReceivableGross" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AllowanceForDoubtfulAccountsPremiumsAndOtherReceivables" xlink:label="loc_us-gaapAllowanceForDoubtfulAccountsPremiumsAndOtherReceivables" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapReceivablesAbstract" xlink:to="loc_us-gaapAllowanceForDoubtfulAccountsPremiumsAndOtherReceivables" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsAndNotesReceivableNet" xlink:label="loc_us-gaapAccountsAndNotesReceivableNet" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapReceivablesAbstract" xlink:to="loc_us-gaapAccountsAndNotesReceivableNet" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfInventoryDetails" xlink:title="00000046 - Disclosure - SCHEDULE OF INVENTORY (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryDisclosureAbstract" xlink:label="loc_us-gaapInventoryDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryFinishedGoods" xlink:label="loc_us-gaapInventoryFinishedGoods" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapInventoryDisclosureAbstract" xlink:to="loc_us-gaapInventoryFinishedGoods" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryRawMaterialsAndSupplies" xlink:label="loc_us-gaapInventoryRawMaterialsAndSupplies" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapInventoryDisclosureAbstract" xlink:to="loc_us-gaapInventoryRawMaterialsAndSupplies" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryNet" xlink:label="loc_us-gaapInventoryNet" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapInventoryDisclosureAbstract" xlink:to="loc_us-gaapInventoryNet" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfPropertyEquipmentAndLeaseholdsDetails" xlink:title="00000047 - Disclosure - SCHEDULE OF PROPERTY, EQUIPMENT AND LEASEHOLDS (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentAbstract" xlink:label="loc_us-gaapPropertyPlantAndEquipmentAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_BuildingAndBuildingImprovementsMember" xlink:label="loc_us-gaapBuildingAndBuildingImprovementsMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_us-gaapBuildingAndBuildingImprovementsMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AutomobilesMember" xlink:label="loc_us-gaapAutomobilesMember" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_us-gaapAutomobilesMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ComputerEquipmentMember" xlink:label="loc_us-gaapComputerEquipmentMember" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_us-gaapComputerEquipmentMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OfficeEquipmentMember" xlink:label="loc_us-gaapOfficeEquipmentMember" />
      <link:presentationArc order="40" 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/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MachineryAndEquipmentMember" xlink:label="loc_us-gaapMachineryAndEquipmentMember" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_us-gaapMachineryAndEquipmentMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_TrailerMember" xlink:label="loc_FSITrailerMember" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_FSITrailerMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_BoatMember" xlink:label="loc_FSIBoatMember" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_FSIBoatMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LeaseholdImprovementsMember" xlink:label="loc_us-gaapLeaseholdImprovementsMember" />
      <link:presentationArc order="80" 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/2023/elts/us-gaap-2023.xsd#us-gaap_DevelopedTechnologyRightsMember" xlink:label="loc_us-gaapDevelopedTechnologyRightsMember" />
      <link:presentationArc order="90" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_us-gaapDevelopedTechnologyRightsMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LandMember" xlink:label="loc_us-gaapLandMember" />
      <link:presentationArc order="100" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_us-gaapLandMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentGross" xlink:label="loc_us-gaapPropertyPlantAndEquipmentGross" />
      <link:presentationArc order="0" 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/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:label="loc_us-gaapAccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentLineItems" xlink:to="loc_us-gaapAccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="loc_us-gaapPropertyPlantAndEquipmentNet" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentLineItems" xlink:to="loc_us-gaapPropertyPlantAndEquipmentNet" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/PropertyEquipmentLeaseholds.DetailsNarrative" xlink:title="00000048 - Disclosure - PROPERTY, EQUIPMENT &amp; LEASEHOLDS. (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentAbstract" xlink:label="loc_us-gaapPropertyPlantAndEquipmentAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Depreciation" xlink:label="loc_us-gaapDepreciation" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentAbstract" xlink:to="loc_us-gaapDepreciation" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfPatentsDetails" xlink:title="00000049 - Disclosure - SCHEDULE OF PATENTS (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:label="loc_us-gaapGoodwillAndIntangibleAssetsDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedPatentsGross" xlink:label="loc_us-gaapFiniteLivedPatentsGross" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapGoodwillAndIntangibleAssetsDisclosureAbstract" xlink:to="loc_us-gaapFiniteLivedPatentsGross" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:label="loc_us-gaapFiniteLivedIntangibleAssetsAccumulatedAmortization" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapGoodwillAndIntangibleAssetsDisclosureAbstract" xlink:to="loc_us-gaapFiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsNet" xlink:label="loc_us-gaapFiniteLivedIntangibleAssetsNet" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapGoodwillAndIntangibleAssetsDisclosureAbstract" xlink:to="loc_us-gaapFiniteLivedIntangibleAssetsNet" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfGoodwillAndIndefiniteLivedIntangibleAssetsDetails" xlink:title="00000050 - Disclosure - SCHEDULE OF GOODWILL AND INDEFINITE LIVED INTANGIBLE ASSETS (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:label="loc_us-gaapGoodwillAndIntangibleAssetsDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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-gaapGoodwillAndIntangibleAssetsDisclosureAbstract" xlink:to="loc_us-gaapStatementTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="loc_deiLegalEntityAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_deiLegalEntityAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="loc_deiEntityDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiLegalEntityAxis" xlink:to="loc_deiEntityDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_EnPInvestmentsCorporationLLCMember" xlink:label="loc_FSIEnPInvestmentsCorporationLLCMember" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiEntityDomain" xlink:to="loc_FSIEnPInvestmentsCorporationLLCMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Goodwill" xlink:label="loc_us-gaapGoodwill" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapGoodwill" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IndefiniteLivedIntangibleAssetsExcludingGoodwill" xlink:label="loc_us-gaapIndefiniteLivedIntangibleAssetsExcludingGoodwill" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapIndefiniteLivedIntangibleAssetsExcludingGoodwill" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IndefiniteLivedIntangibleAssetsExcludingGoodwill" xlink:label="loc_us-gaapIndefiniteLivedIntangibleAssetsExcludingGoodwill_2" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapIndefiniteLivedIntangibleAssetsExcludingGoodwill_2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AmortizationOfIntangibleAssets" xlink:label="loc_us-gaapAmortizationOfIntangibleAssets" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapAmortizationOfIntangibleAssets" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IndefiniteLivedIntangibleAssetsExcludingGoodwill" xlink:label="loc_us-gaapIndefiniteLivedIntangibleAssetsExcludingGoodwill_3" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapIndefiniteLivedIntangibleAssetsExcludingGoodwill_3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfEstimatedFutureAmortizationExpenseDetails" xlink:title="00000051 - Disclosure - SCHEDULE OF ESTIMATED FUTURE AMORTIZATION EXPENSE (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:label="loc_us-gaapGoodwillAndIntangibleAssetsDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ImpairmentEffectsOnEarningsPerShareTable" xlink:label="loc_us-gaapImpairmentEffectsOnEarningsPerShareTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapGoodwillAndIntangibleAssetsDisclosureAbstract" xlink:to="loc_us-gaapImpairmentEffectsOnEarningsPerShareTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ImpairmentEffectsOnEarningsPerShareLineItems" xlink:label="loc_us-gaapImpairmentEffectsOnEarningsPerShareLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapImpairmentEffectsOnEarningsPerShareTable" xlink:to="loc_us-gaapImpairmentEffectsOnEarningsPerShareLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueByAssetClassAxis" xlink:label="loc_us-gaapFairValueByAssetClassAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapImpairmentEffectsOnEarningsPerShareTable" xlink:to="loc_us-gaapFairValueByAssetClassAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain" xlink:label="loc_us-gaapFairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapFairValueByAssetClassAxis" xlink:to="loc_us-gaapFairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsMember" xlink:label="loc_us-gaapFiniteLivedIntangibleAssetsMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapFairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain" xlink:to="loc_us-gaapFiniteLivedIntangibleAssetsMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear" xlink:label="loc_us-gaapFiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapImpairmentEffectsOnEarningsPerShareLineItems" xlink:to="loc_us-gaapFiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:label="loc_us-gaapFiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapImpairmentEffectsOnEarningsPerShareLineItems" xlink:to="loc_us-gaapFiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:label="loc_us-gaapFiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapImpairmentEffectsOnEarningsPerShareLineItems" xlink:to="loc_us-gaapFiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:label="loc_us-gaapFiniteLivedIntangibleAssetsAmortizationExpenseYearThree" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapImpairmentEffectsOnEarningsPerShareLineItems" xlink:to="loc_us-gaapFiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:label="loc_us-gaapFiniteLivedIntangibleAssetsAmortizationExpenseYearFour" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapImpairmentEffectsOnEarningsPerShareLineItems" xlink:to="loc_us-gaapFiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/Patents.DetailsNarrative" xlink:title="00000052 - Disclosure - PATENTS. (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:label="loc_us-gaapGoodwillAndIntangibleAssetsDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_PatentsMember" xlink:label="loc_us-gaapPatentsMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapFiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="loc_us-gaapPatentsMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AmortizationOfIntangibleAssets" xlink:label="loc_us-gaapAmortizationOfIntangibleAssets" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapFiniteLivedIntangibleAssetsLineItems" xlink:to="loc_us-gaapAmortizationOfIntangibleAssets" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfLongTermDepositsDetails" xlink:title="00000053 - Disclosure - SCHEDULE OF LONG TERM DEPOSITS (Details)">
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_DisclosureLongTermDeposits.Abstract" xlink:label="loc_FSIDisclosureLongTermDeposits.Abstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DepositsAssetsNoncurrent" xlink:label="loc_us-gaapDepositsAssetsNoncurrent" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_FSIDisclosureLongTermDeposits.Abstract" xlink:to="loc_us-gaapDepositsAssetsNoncurrent" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfFairValuesOfAssetsAcquiredAndLiabilitiesAssumedDetails" xlink:title="00000054 - Disclosure - SCHEDULE OF FAIR VALUES OF THE ASSETS ACQUIRED AND LIABILITIES ASSUMED (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityMethodInvestmentsAndJointVenturesAbstract" xlink:label="loc_us-gaapEquityMethodInvestmentsAndJointVenturesAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationConsiderationTransferred1" xlink:label="loc_us-gaapBusinessCombinationConsiderationTransferred1" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEquityMethodInvestmentsAndJointVenturesAbstract" xlink:to="loc_us-gaapBusinessCombinationConsiderationTransferred1" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents" xlink:label="loc_us-gaapBusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEquityMethodInvestmentsAndJointVenturesAbstract" xlink:to="loc_us-gaapBusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedBuildings" xlink:label="loc_us-gaapBusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedBuildings" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEquityMethodInvestmentsAndJointVenturesAbstract" xlink:to="loc_us-gaapBusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedBuildings" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLand" xlink:label="loc_us-gaapBusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLand" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEquityMethodInvestmentsAndJointVenturesAbstract" xlink:to="loc_us-gaapBusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLand" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities" xlink:label="loc_us-gaapBusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEquityMethodInvestmentsAndJointVenturesAbstract" xlink:to="loc_us-gaapBusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedPeriodEndLabel" />
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLongTermDebt" xlink:label="loc_FSIBusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLongTermDebt" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEquityMethodInvestmentsAndJointVenturesAbstract" xlink:to="loc_FSIBusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLongTermDebt" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets" xlink:label="loc_us-gaapBusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEquityMethodInvestmentsAndJointVenturesAbstract" xlink:to="loc_us-gaapBusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLessPurchasePrice" xlink:label="loc_FSIBusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLessPurchasePrice" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEquityMethodInvestmentsAndJointVenturesAbstract" xlink:to="loc_FSIBusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLessPurchasePrice" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_InvestmentEliminatedUponConsolidation" xlink:label="loc_FSIInvestmentEliminatedUponConsolidation" />
      <link:presentationArc order="80" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEquityMethodInvestmentsAndJointVenturesAbstract" xlink:to="loc_FSIInvestmentEliminatedUponConsolidation" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_GainOnAcquisitionOfSubsidiary" xlink:label="loc_FSIGainOnAcquisitionOfSubsidiary" />
      <link:presentationArc order="90" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEquityMethodInvestmentsAndJointVenturesAbstract" xlink:to="loc_FSIGainOnAcquisitionOfSubsidiary" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfEquityMethodInvestmentDetails" xlink:title="00000055 - Disclosure - SCHEDULE OF EQUITY METHOD INVESTMENT (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityMethodInvestmentsAndJointVenturesAbstract" xlink:label="loc_us-gaapEquityMethodInvestmentsAndJointVenturesAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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-gaapEquityMethodInvestmentsAndJointVenturesAbstract" xlink:to="loc_us-gaapStatementTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="loc_deiLegalEntityAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_deiLegalEntityAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="loc_deiEntityDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiLegalEntityAxis" xlink:to="loc_deiEntityDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_EnpPeruInvestmentsLlcMember" xlink:label="loc_FSIEnpPeruInvestmentsLlcMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiEntityDomain" xlink:to="loc_FSIEnpPeruInvestmentsLlcMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_FloridaBasedLLCMember" xlink:label="loc_FSIFloridaBasedLLCMember" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiEntityDomain" xlink:to="loc_FSIFloridaBasedLLCMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityMethodInvestments" xlink:label="loc_us-gaapEquityMethodInvestments" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapEquityMethodInvestments" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_EquityMethodInvestmentReturnOfEquity" xlink:label="loc_FSIEquityMethodInvestmentReturnOfEquity" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_FSIEquityMethodInvestmentReturnOfEquity" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityMethodInvestmentRealizedGainLossOnDisposal" xlink:label="loc_us-gaapEquityMethodInvestmentRealizedGainLossOnDisposal" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapEquityMethodInvestmentRealizedGainLossOnDisposal" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_InvestmentEliminatedUponConsolidation" xlink:label="loc_FSIInvestmentEliminatedUponConsolidation" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_FSIInvestmentEliminatedUponConsolidation" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityMethodInvestments" xlink:label="loc_us-gaapEquityMethodInvestments_2" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapEquityMethodInvestments_2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/SummaryOfProfitAndLossInformationRelatedToEquityAccountedInvestmentDetails" xlink:title="00000056 - Disclosure - SUMMARY OF PROFIT AND LOSS INFORMATION RELATED TO EQUITY ACCOUNTED INVESTMENT (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityMethodInvestmentsAndJointVenturesAbstract" xlink:label="loc_us-gaapEquityMethodInvestmentsAndJointVenturesAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GainsLossesOnSalesOfInvestmentRealEstate" xlink:label="loc_us-gaapGainsLossesOnSalesOfInvestmentRealEstate" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEquityMethodInvestmentsAndJointVenturesAbstract" xlink:to="loc_us-gaapGainsLossesOnSalesOfInvestmentRealEstate" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RealizedInvestmentGainsLosses" xlink:label="loc_us-gaapRealizedInvestmentGainsLosses" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEquityMethodInvestmentsAndJointVenturesAbstract" xlink:to="loc_us-gaapRealizedInvestmentGainsLosses" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_RealizedInvestmentGainsLossesNet" xlink:label="loc_FSIRealizedInvestmentGainsLossesNet" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEquityMethodInvestmentsAndJointVenturesAbstract" xlink:to="loc_FSIRealizedInvestmentGainsLossesNet" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/Investments.DetailsNarrative" xlink:title="00000057 - Disclosure - INVESTMENTS. (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityMethodInvestmentsAndJointVenturesAbstract" xlink:label="loc_us-gaapEquityMethodInvestmentsAndJointVenturesAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfEquityMethodInvestmentsTable" xlink:label="loc_us-gaapScheduleOfEquityMethodInvestmentsTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEquityMethodInvestmentsAndJointVenturesAbstract" xlink:to="loc_us-gaapScheduleOfEquityMethodInvestmentsTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfEquityMethodInvestmentsLineItems" xlink:label="loc_us-gaapScheduleOfEquityMethodInvestmentsLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfEquityMethodInvestmentsTable" xlink:to="loc_us-gaapScheduleOfEquityMethodInvestmentsLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis" xlink:label="loc_srtScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfEquityMethodInvestmentsTable" xlink:to="loc_srtScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_EquityMethodInvesteeNameDomain" xlink:label="loc_srtEquityMethodInvesteeNameDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis" xlink:to="loc_srtEquityMethodInvesteeNameDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_EnpPeruInvestmentsLlcMember" xlink:label="loc_FSIEnpPeruInvestmentsLlcMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtEquityMethodInvesteeNameDomain" xlink:to="loc_FSIEnpPeruInvestmentsLlcMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_NanoChemMember" xlink:label="loc_FSINanoChemMember" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtEquityMethodInvesteeNameDomain" xlink:to="loc_FSINanoChemMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_ENPInvestmentsLLCMember" xlink:label="loc_FSIENPInvestmentsLLCMember" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtEquityMethodInvesteeNameDomain" xlink:to="loc_FSIENPInvestmentsLLCMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_FloridaBasedLLCMember" xlink:label="loc_FSIFloridaBasedLLCMember" />
      <link:presentationArc order="150" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtEquityMethodInvesteeNameDomain" xlink:to="loc_FSIFloridaBasedLLCMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_OwnershipAxis" xlink:label="loc_srtOwnershipAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfEquityMethodInvestmentsTable" xlink:to="loc_srtOwnershipAxis" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_OwnershipDomain" xlink:label="loc_srtOwnershipDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtOwnershipAxis" xlink:to="loc_srtOwnershipDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_ENPPeruMember" xlink:label="loc_FSIENPPeruMember" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtOwnershipDomain" xlink:to="loc_FSIENPPeruMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_EnpnvestmentsLlcMember" xlink:label="loc_FSIEnpnvestmentsLlcMember" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtOwnershipDomain" xlink:to="loc_FSIEnpnvestmentsLlcMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="loc_deiLegalEntityAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfEquityMethodInvestmentsTable" xlink:to="loc_deiLegalEntityAxis" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="loc_deiEntityDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiLegalEntityAxis" xlink:to="loc_deiEntityDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_AppliedHoldingCorpMember" xlink:label="loc_FSIAppliedHoldingCorpMember" />
      <link:presentationArc order="90" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiEntityDomain" xlink:to="loc_FSIAppliedHoldingCorpMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_TrioOpportunityCorpMember" xlink:label="loc_FSITrioOpportunityCorpMember" />
      <link:presentationArc order="110" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiEntityDomain" xlink:to="loc_FSITrioOpportunityCorpMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_FloridaBasedLLCMember" xlink:label="loc_FSIFloridaBasedLLCMember_2" />
      <link:presentationArc order="160" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiEntityDomain" xlink:to="loc_FSIFloridaBasedLLCMember_2" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_LygosIncMember" xlink:label="loc_FSILygosIncMember" />
      <link:presentationArc order="200" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiEntityDomain" xlink:to="loc_FSILygosIncMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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-gaapScheduleOfEquityMethodInvestmentsTable" xlink:to="loc_us-gaapStatementClassOfStockAxis" order="40" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonClassBMember" xlink:label="loc_us-gaapCommonClassBMember" />
      <link:presentationArc order="130" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapClassOfStockDomain" xlink:to="loc_us-gaapCommonClassBMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityMethodInvestmentOwnershipPercentage" xlink:label="loc_us-gaapEquityMethodInvestmentOwnershipPercentage" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfEquityMethodInvestmentsLineItems" xlink:to="loc_us-gaapEquityMethodInvestmentOwnershipPercentage" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_AdditionalEquityMethodInvestmentOwnershipPercentage" xlink:label="loc_FSIAdditionalEquityMethodInvestmentOwnershipPercentage" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfEquityMethodInvestmentsLineItems" xlink:to="loc_FSIAdditionalEquityMethodInvestmentOwnershipPercentage" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_RemainningShareOutstanding" xlink:label="loc_FSIRemainningShareOutstanding" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfEquityMethodInvestmentsLineItems" xlink:to="loc_FSIRemainningShareOutstanding" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Cash" xlink:label="loc_us-gaapCash" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfEquityMethodInvestmentsLineItems" xlink:to="loc_us-gaapCash" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MinorityInterestOwnershipPercentageByParent" xlink:label="loc_us-gaapMinorityInterestOwnershipPercentageByParent" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfEquityMethodInvestmentsLineItems" xlink:to="loc_us-gaapMinorityInterestOwnershipPercentageByParent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Investments" xlink:label="loc_us-gaapInvestments" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfEquityMethodInvestmentsLineItems" xlink:to="loc_us-gaapInvestments" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentMaturityDate" xlink:label="loc_us-gaapDebtInstrumentMaturityDate" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfEquityMethodInvestmentsLineItems" xlink:to="loc_us-gaapDebtInstrumentMaturityDate" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodSharesNewIssues" xlink:label="loc_us-gaapStockIssuedDuringPeriodSharesNewIssues" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfEquityMethodInvestmentsLineItems" xlink:to="loc_us-gaapStockIssuedDuringPeriodSharesNewIssues" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharePrice" xlink:label="loc_us-gaapSharePrice" />
      <link:presentationArc order="80" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfEquityMethodInvestmentsLineItems" xlink:to="loc_us-gaapSharePrice" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Revenues" xlink:label="loc_us-gaapRevenues" />
      <link:presentationArc order="90" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfEquityMethodInvestmentsLineItems" xlink:to="loc_us-gaapRevenues" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsReceivableNet" xlink:label="loc_us-gaapAccountsReceivableNet" />
      <link:presentationArc order="100" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfEquityMethodInvestmentsLineItems" xlink:to="loc_us-gaapAccountsReceivableNet" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToAcquireInvestments" xlink:label="loc_us-gaapPaymentsToAcquireInvestments" />
      <link:presentationArc order="110" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfEquityMethodInvestmentsLineItems" xlink:to="loc_us-gaapPaymentsToAcquireInvestments" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/Short-termLineOfCredit.DetailsNarrative" xlink:title="00000058 - Disclosure - SHORT-TERM LINE OF CREDIT. (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtDisclosureAbstract" xlink:label="loc_us-gaapDebtDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityTable" xlink:label="loc_us-gaapLineOfCreditFacilityTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDebtDisclosureAbstract" xlink:to="loc_us-gaapLineOfCreditFacilityTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityLineItems" xlink:label="loc_us-gaapLineOfCreditFacilityLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLineOfCreditFacilityTable" xlink:to="loc_us-gaapLineOfCreditFacilityLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityAxis" xlink:label="loc_us-gaapLineOfCreditFacilityAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLineOfCreditFacilityTable" xlink:to="loc_us-gaapLineOfCreditFacilityAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityLenderDomain" xlink:label="loc_us-gaapLineOfCreditFacilityLenderDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLineOfCreditFacilityAxis" xlink:to="loc_us-gaapLineOfCreditFacilityLenderDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_StockYardAndBankMember" xlink:label="loc_FSIStockYardAndBankMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLineOfCreditFacilityLenderDomain" xlink:to="loc_FSIStockYardAndBankMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_StockBankMember" xlink:label="loc_FSIStockBankMember" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLineOfCreditFacilityLenderDomain" xlink:to="loc_FSIStockBankMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" xlink:label="loc_us-gaapRelatedPartyTransactionsByRelatedPartyAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLineOfCreditFacilityTable" xlink:to="loc_us-gaapRelatedPartyTransactionsByRelatedPartyAxis" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RelatedPartyDomain" xlink:label="loc_us-gaapRelatedPartyDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRelatedPartyTransactionsByRelatedPartyAxis" xlink:to="loc_us-gaapRelatedPartyDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_MidlandStatesBankMember" xlink:label="loc_FSIMidlandStatesBankMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRelatedPartyDomain" xlink:to="loc_FSIMidlandStatesBankMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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-gaapLineOfCreditFacilityTable" xlink:to="loc_us-gaapTypeOfArrangementAxis" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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="fsi-20230630.xsd#FSI_NewAgreementMember" xlink:label="loc_FSINewAgreementMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapArrangementsAndNonarrangementTransactionsMember" xlink:to="loc_FSINewAgreementMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="loc_deiLegalEntityAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLineOfCreditFacilityTable" xlink:to="loc_deiLegalEntityAxis" order="40" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="loc_deiEntityDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiLegalEntityAxis" xlink:to="loc_deiEntityDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_NanoChemSolutionIncMember" xlink:label="loc_FSINanoChemSolutionIncMember" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiEntityDomain" xlink:to="loc_FSINanoChemSolutionIncMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CreditFacilityAxis" xlink:label="loc_us-gaapCreditFacilityAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLineOfCreditFacilityTable" xlink:to="loc_us-gaapCreditFacilityAxis" order="50" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CreditFacilityDomain" xlink:label="loc_us-gaapCreditFacilityDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapCreditFacilityAxis" xlink:to="loc_us-gaapCreditFacilityDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevolvingCreditFacilityMember" xlink:label="loc_us-gaapRevolvingCreditFacilityMember" />
      <link:presentationArc order="100" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapCreditFacilityDomain" xlink:to="loc_us-gaapRevolvingCreditFacilityMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityCurrentBorrowingCapacity" xlink:label="loc_us-gaapLineOfCreditFacilityCurrentBorrowingCapacity" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLineOfCreditFacilityLineItems" xlink:to="loc_us-gaapLineOfCreditFacilityCurrentBorrowingCapacity" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:label="loc_us-gaapLineOfCreditFacilityMaximumBorrowingCapacity" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLineOfCreditFacilityLineItems" xlink:to="loc_us-gaapLineOfCreditFacilityMaximumBorrowingCapacity" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_PercentageOfForeignAccountsReceivableOfInventory" xlink:label="loc_FSIPercentageOfForeignAccountsReceivableOfInventory" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLineOfCreditFacilityLineItems" xlink:to="loc_FSIPercentageOfForeignAccountsReceivableOfInventory" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentFaceAmount" xlink:label="loc_us-gaapDebtInstrumentFaceAmount" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLineOfCreditFacilityLineItems" xlink:to="loc_us-gaapDebtInstrumentFaceAmount" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentInterestRateStatedPercentage" xlink:label="loc_us-gaapDebtInstrumentInterestRateStatedPercentage" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLineOfCreditFacilityLineItems" xlink:to="loc_us-gaapDebtInstrumentInterestRateStatedPercentage" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_LoanGuaranteedRate" xlink:label="loc_FSILoanGuaranteedRate" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLineOfCreditFacilityLineItems" xlink:to="loc_FSILoanGuaranteedRate" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LinesOfCreditCurrent" xlink:label="loc_us-gaapLinesOfCreditCurrent" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLineOfCreditFacilityLineItems" xlink:to="loc_us-gaapLinesOfCreditCurrent" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShortTermBorrowings" xlink:label="loc_us-gaapShortTermBorrowings" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLineOfCreditFacilityLineItems" xlink:to="loc_us-gaapShortTermBorrowings" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_EligiblePercentageOfDomesticAccountsReceivable" xlink:label="loc_FSIEligiblePercentageOfDomesticAccountsReceivable" />
      <link:presentationArc order="80" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLineOfCreditFacilityLineItems" xlink:to="loc_FSIEligiblePercentageOfDomesticAccountsReceivable" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfLoanCovenantsDetails" xlink:title="00000059 - Disclosure - SCHEDULE OF LOAN COVENANTS (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtDisclosureAbstract" xlink:label="loc_us-gaapDebtDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongTermDebt" xlink:label="loc_us-gaapLongTermDebt" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDebtDisclosureAbstract" xlink:to="loc_us-gaapLongTermDebt" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromBankDebt" xlink:label="loc_us-gaapProceedsFromBankDebt" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDebtDisclosureAbstract" xlink:to="loc_us-gaapProceedsFromBankDebt" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_ProceedsFromLoanAcquiredFromAcquisition" xlink:label="loc_FSIProceedsFromLoanAcquiredFromAcquisition" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDebtDisclosureAbstract" xlink:to="loc_FSIProceedsFromLoanAcquiredFromAcquisition" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsForProceedsFromDepositOnLoan" xlink:label="loc_us-gaapPaymentsForProceedsFromDepositOnLoan" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDebtDisclosureAbstract" xlink:to="loc_us-gaapPaymentsForProceedsFromDepositOnLoan" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongTermDebt" xlink:label="loc_us-gaapLongTermDebt_2" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDebtDisclosureAbstract" xlink:to="loc_us-gaapLongTermDebt_2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfOutstandingBalanceLoanDetails" xlink:title="00000060 - Disclosure - SCHEDULE OF OUTSTANDING BALANCE LOAN (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtDisclosureAbstract" xlink:label="loc_us-gaapDebtDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfDefinedBenefitPlansDisclosuresTable" xlink:label="loc_us-gaapScheduleOfDefinedBenefitPlansDisclosuresTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDebtDisclosureAbstract" xlink:to="loc_us-gaapScheduleOfDefinedBenefitPlansDisclosuresTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedBenefitPlanDisclosureLineItems" xlink:label="loc_us-gaapDefinedBenefitPlanDisclosureLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfDefinedBenefitPlansDisclosuresTable" xlink:to="loc_us-gaapDefinedBenefitPlanDisclosureLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" xlink:label="loc_us-gaapRelatedPartyTransactionsByRelatedPartyAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfDefinedBenefitPlansDisclosuresTable" xlink:to="loc_us-gaapRelatedPartyTransactionsByRelatedPartyAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RelatedPartyDomain" xlink:label="loc_us-gaapRelatedPartyDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRelatedPartyTransactionsByRelatedPartyAxis" xlink:to="loc_us-gaapRelatedPartyDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_MidlandStatesBankMember" xlink:label="loc_FSIMidlandStatesBankMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRelatedPartyDomain" xlink:to="loc_FSIMidlandStatesBankMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_MidlandStatesBankOneMember" xlink:label="loc_FSIMidlandStatesBankOneMember" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRelatedPartyDomain" xlink:to="loc_FSIMidlandStatesBankOneMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_StockYardsBankTrustMember" xlink:label="loc_FSIStockYardsBankTrustMember" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRelatedPartyDomain" xlink:to="loc_FSIStockYardsBankTrustMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_StockYardsBankTrustOneMember" xlink:label="loc_FSIStockYardsBankTrustOneMember" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRelatedPartyDomain" xlink:to="loc_FSIStockYardsBankTrustOneMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_StockYardsBankTrustTwoMember" xlink:label="loc_FSIStockYardsBankTrustTwoMember" />
      <link:presentationArc order="90" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRelatedPartyDomain" xlink:to="loc_FSIStockYardsBankTrustTwoMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_StockYardsBankTrustThreeMember" xlink:label="loc_FSIStockYardsBankTrustThreeMember" />
      <link:presentationArc order="110" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRelatedPartyDomain" xlink:to="loc_FSIStockYardsBankTrustThreeMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_StockYardsBankTrustFourMember" xlink:label="loc_FSIStockYardsBankTrustFourMember" />
      <link:presentationArc order="130" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRelatedPartyDomain" xlink:to="loc_FSIStockYardsBankTrustFourMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_StockYardsBankTrustFiveMember" xlink:label="loc_FSIStockYardsBankTrustFiveMember" />
      <link:presentationArc order="150" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRelatedPartyDomain" xlink:to="loc_FSIStockYardsBankTrustFiveMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongTermDebt" xlink:label="loc_us-gaapLongTermDebt" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDefinedBenefitPlanDisclosureLineItems" xlink:to="loc_us-gaapLongTermDebt" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongTermDebtCurrent" xlink:label="loc_us-gaapLongTermDebtCurrent" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDefinedBenefitPlanDisclosureLineItems" xlink:to="loc_us-gaapLongTermDebtCurrent" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongTermDebtNoncurrent" xlink:label="loc_us-gaapLongTermDebtNoncurrent" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDefinedBenefitPlanDisclosureLineItems" xlink:to="loc_us-gaapLongTermDebtNoncurrent" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/LongTermDebt.DetailsNarrative" xlink:title="00000061 - Disclosure - LONG TERM DEBT. (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtDisclosureAbstract" xlink:label="loc_us-gaapDebtDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShortTermDebtTable" xlink:label="loc_us-gaapScheduleOfShortTermDebtTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDebtDisclosureAbstract" xlink:to="loc_us-gaapScheduleOfShortTermDebtTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShortTermDebtLineItems" xlink:label="loc_us-gaapShortTermDebtLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfShortTermDebtTable" xlink:to="loc_us-gaapShortTermDebtLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentAxis" xlink:label="loc_us-gaapDebtInstrumentAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfShortTermDebtTable" xlink:to="loc_us-gaapDebtInstrumentAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentNameDomain" xlink:label="loc_us-gaapDebtInstrumentNameDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDebtInstrumentAxis" xlink:to="loc_us-gaapDebtInstrumentNameDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_TermLoanMember" xlink:label="loc_FSITermLoanMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDebtInstrumentNameDomain" xlink:to="loc_FSITermLoanMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" xlink:label="loc_us-gaapRelatedPartyTransactionsByRelatedPartyAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfShortTermDebtTable" xlink:to="loc_us-gaapRelatedPartyTransactionsByRelatedPartyAxis" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RelatedPartyDomain" xlink:label="loc_us-gaapRelatedPartyDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRelatedPartyTransactionsByRelatedPartyAxis" xlink:to="loc_us-gaapRelatedPartyDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_MidlandBankMember" xlink:label="loc_FSIMidlandBankMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRelatedPartyDomain" xlink:to="loc_FSIMidlandBankMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_StockYardsBankTrustMember" xlink:label="loc_FSIStockYardsBankTrustMember" />
      <link:presentationArc order="140" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRelatedPartyDomain" xlink:to="loc_FSIStockYardsBankTrustMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="loc_deiLegalEntityAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfShortTermDebtTable" xlink:to="loc_deiLegalEntityAxis" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="loc_deiEntityDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiLegalEntityAxis" xlink:to="loc_deiEntityDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_NanoChemSolutionsIncMember" xlink:label="loc_FSINanoChemSolutionsIncMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiEntityDomain" xlink:to="loc_FSINanoChemSolutionsIncMember" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_ENPMendotaMember" xlink:label="loc_FSIENPMendotaMember" />
      <link:presentationArc order="130" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiEntityDomain" xlink:to="loc_FSIENPMendotaMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_EnpRealtyLLCMember" xlink:label="loc_FSIEnpRealtyLLCMember" />
      <link:presentationArc order="140" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiEntityDomain" xlink:to="loc_FSIEnpRealtyLLCMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_NanoChemMember" xlink:label="loc_FSINanoChemMember" />
      <link:presentationArc order="220" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiEntityDomain" xlink:to="loc_FSINanoChemMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_ENPPeruOneMember" xlink:label="loc_FSIENPPeruOneMember" />
      <link:presentationArc order="260" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiEntityDomain" xlink:to="loc_FSIENPPeruOneMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_ENPPeruInvestmentsMember" xlink:label="loc_FSIENPPeruInvestmentsMember" />
      <link:presentationArc order="340" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiEntityDomain" xlink:to="loc_FSIENPPeruInvestmentsMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_MendotaMember" xlink:label="loc_FSIMendotaMember" />
      <link:presentationArc order="460" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiEntityDomain" xlink:to="loc_FSIMendotaMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_VariableRateAxis" xlink:label="loc_us-gaapVariableRateAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfShortTermDebtTable" xlink:to="loc_us-gaapVariableRateAxis" order="40" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_VariableRateDomain" xlink:label="loc_us-gaapVariableRateDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapVariableRateAxis" xlink:to="loc_us-gaapVariableRateDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PrimeRateMember" xlink:label="loc_us-gaapPrimeRateMember" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapVariableRateDomain" xlink:to="loc_us-gaapPrimeRateMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentFaceAmount" xlink:label="loc_us-gaapDebtInstrumentFaceAmount" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShortTermDebtLineItems" xlink:to="loc_us-gaapDebtInstrumentFaceAmount" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentInterestRateStatedPercentage" xlink:label="loc_us-gaapDebtInstrumentInterestRateStatedPercentage" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShortTermDebtLineItems" xlink:to="loc_us-gaapDebtInstrumentInterestRateStatedPercentage" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentTerm" xlink:label="loc_us-gaapDebtInstrumentTerm" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShortTermDebtLineItems" xlink:to="loc_us-gaapDebtInstrumentTerm" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InterestExpenseDebt" xlink:label="loc_us-gaapInterestExpenseDebt" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShortTermDebtLineItems" xlink:to="loc_us-gaapInterestExpenseDebt" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtDefaultLongtermDebtAmount" xlink:label="loc_us-gaapDebtDefaultLongtermDebtAmount" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShortTermDebtLineItems" xlink:to="loc_us-gaapDebtDefaultLongtermDebtAmount" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LoansPayable" xlink:label="loc_us-gaapLoansPayable" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShortTermDebtLineItems" xlink:to="loc_us-gaapLoansPayable" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InterestExpense" xlink:label="loc_us-gaapInterestExpense" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShortTermDebtLineItems" xlink:to="loc_us-gaapInterestExpense" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfStockOptionActivitiesDetails" xlink:title="00000062 - Disclosure - SCHEDULE OF STOCK OPTION ACTIVITIES (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/srt/2023/elts/srt-2023.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-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="loc_srtRangeAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.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/2023/elts/srt-2023.xsd#srt_MinimumMember" xlink:label="loc_srtMinimumMember" />
      <link:presentationArc order="20" 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/2023/elts/srt-2023.xsd#srt_MaximumMember" xlink:label="loc_srtMaximumMember" />
      <link:presentationArc order="30" 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/2023/elts/us-gaap-2023.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-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice" xlink:label="loc_FSISharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_FSISharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" 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/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeGrantedOptionsExercisePrice" xlink:label="loc_FSISharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeGrantedOptionsExercisePrice" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_FSISharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeGrantedOptionsExercisePrice" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" xlink:label="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice" xlink:label="loc_FSISharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_FSISharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice" />
      <link:presentationArc order="80" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:label="loc_us-gaapStockIssuedDuringPeriodSharesStockOptionsExercised" />
      <link:presentationArc order="90" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapStockIssuedDuringPeriodSharesStockOptionsExercised" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExcercisedOptionsExercisePrice" xlink:label="loc_FSISharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExcercisedOptionsExercisePrice" />
      <link:presentationArc order="100" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_FSISharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExcercisedOptionsExercisePrice" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" xlink:label="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" />
      <link:presentationArc order="110" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_2" />
      <link:presentationArc order="120" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice" xlink:label="loc_FSISharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice_2" />
      <link:presentationArc order="130" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_FSISharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice_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/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_2" />
      <link:presentationArc order="140" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" 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/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" />
      <link:presentationArc order="150" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingExercisableOptionsExercisePrice" xlink:label="loc_FSISharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingExercisableOptionsExercisePrice" />
      <link:presentationArc order="160" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_FSISharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingExercisableOptionsExercisePrice" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" />
      <link:presentationArc order="170" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfStockOptionFairValueAssumptionsDetails" xlink:title="00000063 - Disclosure - SCHEDULE OF STOCK OPTION FAIR VALUE ASSUMPTIONS (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/srt/2023/elts/srt-2023.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-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="loc_srtRangeAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.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/2023/elts/srt-2023.xsd#srt_MinimumMember" xlink:label="loc_srtMinimumMember" />
      <link:presentationArc order="20" 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/2023/elts/srt-2023.xsd#srt_MaximumMember" xlink:label="loc_srtMaximumMember" />
      <link:presentationArc order="30" 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/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" xlink:label="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/StockOptions.DetailsNarrative" xlink:title="00000064 - Disclosure - STOCK OPTIONS. (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfDeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsByTitleOfIndividualAndByTypeOfDeferredCompensationTable" xlink:label="loc_us-gaapScheduleOfDeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsByTitleOfIndividualAndByTypeOfDeferredCompensationTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="loc_us-gaapScheduleOfDeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsByTitleOfIndividualAndByTypeOfDeferredCompensationTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsLineItems" xlink:label="loc_us-gaapDeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfDeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsByTitleOfIndividualAndByTypeOfDeferredCompensationTable" xlink:to="loc_us-gaapDeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.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-gaapScheduleOfDeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsByTitleOfIndividualAndByTypeOfDeferredCompensationTable" xlink:to="loc_srtTitleOfIndividualAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.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="fsi-20230630.xsd#FSI_ConsultantsMember" xlink:label="loc_FSIConsultantsMember" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtTitleOfIndividualWithRelationshipToEntityDomain" xlink:to="loc_FSIConsultantsMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_EmployeesMember" xlink:label="loc_FSIEmployeesMember" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtTitleOfIndividualWithRelationshipToEntityDomain" xlink:to="loc_FSIEmployeesMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_ConsultantMember" xlink:label="loc_FSIConsultantMember" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtTitleOfIndividualWithRelationshipToEntityDomain" xlink:to="loc_FSIConsultantMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxAuthorityNameAxis" xlink:label="loc_us-gaapIncomeTaxAuthorityNameAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfDeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsByTitleOfIndividualAndByTypeOfDeferredCompensationTable" xlink:to="loc_us-gaapIncomeTaxAuthorityNameAxis" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxAuthorityNameDomain" xlink:label="loc_us-gaapIncomeTaxAuthorityNameDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxAuthorityNameAxis" xlink:to="loc_us-gaapIncomeTaxAuthorityNameDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CanadaRevenueAgencyMember" xlink:label="loc_us-gaapCanadaRevenueAgencyMember" />
      <link:presentationArc order="80" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxAuthorityNameDomain" xlink:to="loc_us-gaapCanadaRevenueAgencyMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage" xlink:label="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsLineItems" xlink:to="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod" xlink:label="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsLineItems" xlink:to="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" xlink:label="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsLineItems" xlink:to="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockOptionPlanExpense" xlink:label="loc_us-gaapStockOptionPlanExpense" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsLineItems" xlink:to="loc_us-gaapStockOptionPlanExpense" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_AdditionalExpensesDueToOptionsGranted" xlink:label="loc_FSIAdditionalExpensesDueToOptionsGranted" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsLineItems" xlink:to="loc_FSIAdditionalExpensesDueToOptionsGranted" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:label="loc_us-gaapStockIssuedDuringPeriodSharesStockOptionsExercised" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsLineItems" xlink:to="loc_us-gaapStockIssuedDuringPeriodSharesStockOptionsExercised" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:label="loc_us-gaapEmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsLineItems" xlink:to="loc_us-gaapEmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:label="loc_us-gaapEmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsLineItems" xlink:to="loc_us-gaapEmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAggregateIntrinsicValue" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAggregateIntrinsicValue" />
      <link:presentationArc order="80" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAggregateIntrinsicValue" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/CapitalStockDetailsNarrative" xlink:title="00000065 - Disclosure - CAPITAL STOCK (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityAbstract" xlink:label="loc_us-gaapEquityAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfDeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsByTitleOfIndividualAndByTypeOfDeferredCompensationTable" xlink:label="loc_us-gaapScheduleOfDeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsByTitleOfIndividualAndByTypeOfDeferredCompensationTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEquityAbstract" xlink:to="loc_us-gaapScheduleOfDeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsByTitleOfIndividualAndByTypeOfDeferredCompensationTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsLineItems" xlink:label="loc_us-gaapDeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfDeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsByTitleOfIndividualAndByTypeOfDeferredCompensationTable" xlink:to="loc_us-gaapDeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.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-gaapScheduleOfDeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsByTitleOfIndividualAndByTypeOfDeferredCompensationTable" xlink:to="loc_srtTitleOfIndividualAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.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="fsi-20230630.xsd#FSI_EmployeeMember" xlink:label="loc_FSIEmployeeMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtTitleOfIndividualWithRelationshipToEntityDomain" xlink:to="loc_FSIEmployeeMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodSharesIssuedForServices" xlink:label="loc_us-gaapStockIssuedDuringPeriodSharesIssuedForServices" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsLineItems" xlink:to="loc_us-gaapStockIssuedDuringPeriodSharesIssuedForServices" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodValueIssuedForServices" xlink:label="loc_us-gaapStockIssuedDuringPeriodValueIssuedForServices" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsLineItems" xlink:to="loc_us-gaapStockIssuedDuringPeriodValueIssuedForServices" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DividendsPayableAmountPerShare" xlink:label="loc_us-gaapDividendsPayableAmountPerShare" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsLineItems" xlink:to="loc_us-gaapDividendsPayableAmountPerShare" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfDistributionsDetails" xlink:title="00000066 - Disclosure - SCHEDULE OF DISTRIBUTIONS (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NoncontrollingInterestAbstract" xlink:label="loc_us-gaapNoncontrollingInterestAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTable" xlink:label="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNoncontrollingInterestAbstract" xlink:to="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems" xlink:label="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTable" xlink:to="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_OwnershipAxis" xlink:label="loc_srtOwnershipAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTable" xlink:to="loc_srtOwnershipAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_OwnershipDomain" xlink:label="loc_srtOwnershipDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtOwnershipAxis" xlink:to="loc_srtOwnershipDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_ENPInvestmentsLLCMember" xlink:label="loc_FSIENPInvestmentsLLCMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtOwnershipDomain" xlink:to="loc_FSIENPInvestmentsLLCMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTable" xlink:to="loc_us-gaapTypeOfArrangementAxis" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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="fsi-20230630.xsd#FSI_OwnershipInterestPurchaseAgreementMember" xlink:label="loc_FSIOwnershipInterestPurchaseAgreementMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapArrangementsAndNonarrangementTransactionsMember" xlink:to="loc_FSIOwnershipInterestPurchaseAgreementMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MinorityInterest" xlink:label="loc_us-gaapMinorityInterest" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems" xlink:to="loc_us-gaapMinorityInterest" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders" xlink:label="loc_us-gaapMinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems" xlink:to="loc_us-gaapMinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLossAttributableToNoncontrollingInterest" xlink:label="loc_us-gaapNetIncomeLossAttributableToNoncontrollingInterest" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems" xlink:to="loc_us-gaapNetIncomeLossAttributableToNoncontrollingInterest" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MinorityInterest" xlink:label="loc_us-gaapMinorityInterest_2" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems" xlink:to="loc_us-gaapMinorityInterest_2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfNonControllingInterestRelatedToAcquisitionDetails" xlink:title="00000067 - Disclosure - SCHEDULE OF NON CONTROLLING INTEREST RELATED TO ACQUISITION (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NoncontrollingInterestAbstract" xlink:label="loc_us-gaapNoncontrollingInterestAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTable" xlink:label="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNoncontrollingInterestAbstract" xlink:to="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems" xlink:label="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTable" xlink:to="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_OwnershipAxis" xlink:label="loc_srtOwnershipAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTable" xlink:to="loc_srtOwnershipAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_OwnershipDomain" xlink:label="loc_srtOwnershipDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtOwnershipAxis" xlink:to="loc_srtOwnershipDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_MendotaLLCMember" xlink:label="loc_FSIMendotaLLCMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtOwnershipDomain" xlink:to="loc_FSIMendotaLLCMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTable" xlink:to="loc_us-gaapTypeOfArrangementAxis" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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="fsi-20230630.xsd#FSI_OwnershipInterestPurchaseAgreementMember" xlink:label="loc_FSIOwnershipInterestPurchaseAgreementMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapArrangementsAndNonarrangementTransactionsMember" xlink:to="loc_FSIOwnershipInterestPurchaseAgreementMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MinorityInterest" xlink:label="loc_us-gaapMinorityInterest" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems" xlink:to="loc_us-gaapMinorityInterest" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToAcquireBusinessesAndInterestInAffiliates" xlink:label="loc_us-gaapPaymentsToAcquireBusinessesAndInterestInAffiliates" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems" xlink:to="loc_us-gaapPaymentsToAcquireBusinessesAndInterestInAffiliates" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MinorityInterest" xlink:label="loc_us-gaapMinorityInterest_2" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems" xlink:to="loc_us-gaapMinorityInterest_2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/Non-controllingInterestsDetailsNarrative" xlink:title="00000068 - Disclosure - NON-CONTROLLING INTERESTS (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NoncontrollingInterestAbstract" xlink:label="loc_us-gaapNoncontrollingInterestAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTable" xlink:label="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNoncontrollingInterestAbstract" xlink:to="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems" xlink:label="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTable" xlink:to="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_OwnershipAxis" xlink:label="loc_srtOwnershipAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTable" xlink:to="loc_srtOwnershipAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_OwnershipDomain" xlink:label="loc_srtOwnershipDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtOwnershipAxis" xlink:to="loc_srtOwnershipDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_ENPInvestmentsLLCMember" xlink:label="loc_FSIENPInvestmentsLLCMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtOwnershipDomain" xlink:to="loc_FSIENPInvestmentsLLCMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_MendotaLLCMember" xlink:label="loc_FSIMendotaLLCMember" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtOwnershipDomain" xlink:to="loc_FSIMendotaLLCMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest" xlink:label="loc_us-gaapSubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems" xlink:to="loc_us-gaapSubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MinorityInterestOwnershipPercentageByParent" xlink:label="loc_us-gaapMinorityInterestOwnershipPercentageByParent" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems" xlink:to="loc_us-gaapMinorityInterestOwnershipPercentageByParent" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToMinorityShareholders" xlink:label="loc_us-gaapPaymentsToMinorityShareholders" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems" xlink:to="loc_us-gaapPaymentsToMinorityShareholders" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Revenues" xlink:label="loc_us-gaapRevenues" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems" xlink:to="loc_us-gaapRevenues" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems" xlink:to="loc_us-gaapAccountsReceivableNetCurrent" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfReportableSegmentsDetails" xlink:title="00000069 - Disclosure - SCHEDULE OF REPORTABLE SEGMENTS (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentReportingAbstract" xlink:label="loc_us-gaapSegmentReportingAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable" xlink:label="loc_us-gaapScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapSegmentReportingAbstract" xlink:to="loc_us-gaapScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems" xlink:label="loc_us-gaapEntityWideInformationRevenueFromExternalCustomerLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable" xlink:to="loc_us-gaapEntityWideInformationRevenueFromExternalCustomerLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.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-gaapScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable" xlink:to="loc_srtProductOrServiceAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.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="fsi-20230630.xsd#FSI_EWCPMember" xlink:label="loc_FSIEWCPMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtProductsAndServicesDomain" xlink:to="loc_FSIEWCPMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_TPAMember" xlink:label="loc_FSITPAMember" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtProductsAndServicesDomain" xlink:to="loc_FSITPAMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementBusinessSegmentsAxis" xlink:label="loc_us-gaapStatementBusinessSegmentsAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable" xlink:to="loc_us-gaapStatementBusinessSegmentsAxis" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentDomain" xlink:label="loc_us-gaapSegmentDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementBusinessSegmentsAxis" xlink:to="loc_us-gaapSegmentDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_SegmentMember" xlink:label="loc_FSISegmentMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapSegmentDomain" xlink:to="loc_FSISegmentMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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-gaapEntityWideInformationRevenueFromExternalCustomerLineItems" xlink:to="loc_us-gaapRevenueFromContractWithCustomerExcludingAssessedTax" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InterestExpense" xlink:label="loc_us-gaapInterestExpense" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEntityWideInformationRevenueFromExternalCustomerLineItems" xlink:to="loc_us-gaapInterestExpense" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DepreciationNonproduction" xlink:label="loc_us-gaapDepreciationNonproduction" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEntityWideInformationRevenueFromExternalCustomerLineItems" xlink:to="loc_us-gaapDepreciationNonproduction" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="loc_us-gaapIncomeTaxExpenseBenefit" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEntityWideInformationRevenueFromExternalCustomerLineItems" xlink:to="loc_us-gaapIncomeTaxExpenseBenefit" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLoss" xlink:label="loc_us-gaapNetIncomeLoss" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEntityWideInformationRevenueFromExternalCustomerLineItems" xlink:to="loc_us-gaapNetIncomeLoss" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_SegmentAssets" xlink:label="loc_FSISegmentAssets" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEntityWideInformationRevenueFromExternalCustomerLineItems" xlink:to="loc_FSISegmentAssets" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:label="loc_us-gaapPaymentsToAcquirePropertyPlantAndEquipment" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEntityWideInformationRevenueFromExternalCustomerLineItems" xlink:to="loc_us-gaapPaymentsToAcquirePropertyPlantAndEquipment" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfRevenueGeneratedInUnitedStatesAndCanadaDetails" xlink:title="00000070 - Disclosure - SCHEDULE OF REVENUE GENERATED IN UNITED STATES AND CANADA (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentReportingAbstract" xlink:label="loc_us-gaapSegmentReportingAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" xlink:label="loc_us-gaapScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapSegmentReportingAbstract" xlink:to="loc_us-gaapScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems" xlink:label="loc_us-gaapRevenuesFromExternalCustomersAndLongLivedAssetsLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" xlink:to="loc_us-gaapRevenuesFromExternalCustomersAndLongLivedAssetsLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.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-gaapScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" xlink:to="loc_srtStatementGeographicalAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.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.sec.gov/country/2023/country-2023.xsd#country_CA" xlink:label="loc_countryCA" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtSegmentGeographicalDomain" xlink:to="loc_countryCA" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_UnitedStatesandAbroadMember" xlink:label="loc_FSIUnitedStatesandAbroadMember" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtSegmentGeographicalDomain" xlink:to="loc_FSIUnitedStatesandAbroadMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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-gaapRevenuesFromExternalCustomersAndLongLivedAssetsLineItems" xlink:to="loc_us-gaapRevenueFromContractWithCustomerExcludingAssessedTax" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfLong-livedAssetsAreLocatedInCanadaAndUnitedStatesDetails" xlink:title="00000071 - Disclosure - SCHEDULE OF LONG-LIVED ASSETS ARE LOCATED IN CANADA AND UNITED STATES (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentReportingAbstract" xlink:label="loc_us-gaapSegmentReportingAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" xlink:label="loc_us-gaapScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapSegmentReportingAbstract" xlink:to="loc_us-gaapScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems" xlink:label="loc_us-gaapRevenuesFromExternalCustomersAndLongLivedAssetsLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" xlink:to="loc_us-gaapRevenuesFromExternalCustomersAndLongLivedAssetsLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.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-gaapScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" xlink:to="loc_srtStatementGeographicalAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.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.sec.gov/country/2023/country-2023.xsd#country_CA" xlink:label="loc_countryCA" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtSegmentGeographicalDomain" xlink:to="loc_countryCA" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_US" xlink:label="loc_countryUS" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtSegmentGeographicalDomain" xlink:to="loc_countryUS" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NoncurrentAssets" xlink:label="loc_us-gaapNoncurrentAssets" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRevenuesFromExternalCustomersAndLongLivedAssetsLineItems" xlink:to="loc_us-gaapNoncurrentAssets" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/SegmentedSignificantCustomerInformationAndEconomicDependencyDetailsNarrative" xlink:title="00000072 - Disclosure - SEGMENTED, SIGNIFICANT CUSTOMER INFORMATION AND ECONOMIC DEPENDENCY (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentReportingAbstract" xlink:label="loc_us-gaapSegmentReportingAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfEntityWideRevenueByMajorCustomersByReportingSegmentsTable" xlink:label="loc_us-gaapScheduleOfEntityWideRevenueByMajorCustomersByReportingSegmentsTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapSegmentReportingAbstract" xlink:to="loc_us-gaapScheduleOfEntityWideRevenueByMajorCustomersByReportingSegmentsTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EntityWideRevenueMajorCustomerLineItems" xlink:label="loc_us-gaapEntityWideRevenueMajorCustomerLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfEntityWideRevenueByMajorCustomersByReportingSegmentsTable" xlink:to="loc_us-gaapEntityWideRevenueMajorCustomerLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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-gaapScheduleOfEntityWideRevenueByMajorCustomersByReportingSegmentsTable" xlink:to="loc_us-gaapConcentrationRiskByBenchmarkAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsReceivableMember" xlink:label="loc_us-gaapAccountsReceivableMember" />
      <link:presentationArc order="20" 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/srt/2023/elts/srt-2023.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-gaapScheduleOfEntityWideRevenueByMajorCustomersByReportingSegmentsTable" xlink:to="loc_srtMajorCustomersAxis" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.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="fsi-20230630.xsd#FSI_ThreeCustomersMember" xlink:label="loc_FSIThreeCustomersMember" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtNameOfMajorCustomerDomain" xlink:to="loc_FSIThreeCustomersMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NumberOfOperatingSegments" xlink:label="loc_us-gaapNumberOfOperatingSegments" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEntityWideRevenueMajorCustomerLineItems" xlink:to="loc_us-gaapNumberOfOperatingSegments" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsReceivableNet" xlink:label="loc_us-gaapAccountsReceivableNet" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEntityWideRevenueMajorCustomerLineItems" xlink:to="loc_us-gaapAccountsReceivableNet" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="fsi-20230630.xsd#FSI_StockOptionExercisePercent" xlink:label="loc_FSIStockOptionExercisePercent" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEntityWideRevenueMajorCustomerLineItems" xlink:to="loc_FSIStockOptionExercisePercent" xlink:type="arc" />
    </link:presentationLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>10
<FILENAME>R1.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/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.23.2</span><table class="report" border="0" cellspacing="2" id="idm139976173586944">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Cover - shares<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Jun. 30, 2023</div></th>
<th class="th"><div>Aug. 14, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="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>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentType', window );">Document Type</a></td>
<td class="text">10-Q<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="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>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentQuarterlyReport', window );">Document Quarterly Report</a></td>
<td class="text">true<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="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>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentPeriodEndDate', window );">Document Period End Date</a></td>
<td class="text">Jun. 30,  2023<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="Show.showAR( this, 'defref_dei_DocumentFiscalPeriodFocus', window );">Document Fiscal Period Focus</a></td>
<td class="text">Q2<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="Show.showAR( this, 'defref_dei_DocumentFiscalYearFocus', window );">Document Fiscal Year Focus</a></td>
<td class="text">2023<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="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>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityFileNumber', window );">Entity File Number</a></td>
<td class="text">001-31540<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="Show.showAR( this, 'defref_dei_EntityRegistrantName', window );">Entity Registrant Name</a></td>
<td class="text">FLEXIBLE
SOLUTIONS INTERNATIONAL INC.<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="Show.showAR( this, 'defref_dei_EntityCentralIndexKey', window );">Entity Central Index Key</a></td>
<td class="text">0001069394<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="Show.showAR( this, 'defref_dei_EntityTaxIdentificationNumber', window );">Entity Tax Identification Number</a></td>
<td class="text">71-1630889<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="Show.showAR( this, 'defref_dei_EntityIncorporationStateCountryCode', window );">Entity Incorporation, State or Country Code</a></td>
<td class="text">A0<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="Show.showAR( this, 'defref_dei_EntityAddressAddressLine1', window );">Entity Address, Address Line One</a></td>
<td class="text">6001
    54 Ave.<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="Show.showAR( this, 'defref_dei_EntityAddressCityOrTown', window );">Entity Address, City or Town</a></td>
<td class="text">Taber<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="Show.showAR( this, 'defref_dei_EntityAddressStateOrProvince', window );">Entity Address, State or Province</a></td>
<td class="text">AB<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="Show.showAR( this, 'defref_dei_EntityAddressCountry', window );">Entity Address, Country</a></td>
<td class="text">CA<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="Show.showAR( this, 'defref_dei_EntityAddressPostalZipCode', window );">Entity Address, Postal Zip Code</a></td>
<td class="text">T1G
    1X4<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="Show.showAR( this, 'defref_dei_CityAreaCode', window );">City Area Code</a></td>
<td class="text">(403)<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="Show.showAR( this, 'defref_dei_LocalPhoneNumber', window );">Local Phone Number</a></td>
<td class="text">223-2995<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="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>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_TradingSymbol', window );">Trading Symbol</a></td>
<td class="text">FSI<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="Show.showAR( this, 'defref_dei_SecurityExchangeName', window );">Security Exchange Name</a></td>
<td class="text">NYSE<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="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>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="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>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="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>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="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>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityEmergingGrowthCompany', window );">Entity Emerging Growth Company</a></td>
<td class="text">false<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="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>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityCommonStockSharesOutstanding', window );">Entity Common Stock, Shares Outstanding</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">12,435,532<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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ 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_CityAreaCode">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Area code of city</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ 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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Cover page.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ 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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ 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_DocumentFiscalPeriodFocus">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ 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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ 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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ 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_DocumentQuarterlyReport">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true only for a form used as an quarterly report.</p></div>
<a href="javascript:void(0);" onclick="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-Q<br> -Number 240<br> -Section 308<br> -Subsection a<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ 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_DocumentQuarterlyReport</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_DocumentTransitionReport">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="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="Show.toggleNext( this );">+ 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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ 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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ 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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Name of the City or Town</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ 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_EntityAddressCountry">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>ISO 3166-1 alpha-2 country code.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ 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_EntityAddressCountry</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:countryCodeItemType</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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Code for the postal or zip code</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ 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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Name of the state or province.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ 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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="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="Show.toggleNext( this );">+ 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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ 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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ 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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indicate if registrant meets the emerging growth company criteria.</p></div>
<a href="javascript:void(0);" onclick="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="Show.toggleNext( this );">+ 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_EntityFileNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ 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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="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="Show.toggleNext( this );">+ 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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ 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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="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="Show.toggleNext( this );">+ 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_EntityRegistrantName">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="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="Show.toggleNext( this );">+ 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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="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="Show.toggleNext( this );">+ 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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="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="Show.toggleNext( this );">+ 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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="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="Show.toggleNext( this );">+ 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_LocalPhoneNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Local phone number for entity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ 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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Title of a 12(b) registered security.</p></div>
<a href="javascript:void(0);" onclick="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="Show.toggleNext( this );">+ 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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="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="Show.toggleNext( this );">+ 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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ 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>11
<FILENAME>R2.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/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.23.2</span><table class="report" border="0" cellspacing="2" id="idm139976171125168">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Condensed Interim Consolidated Balance Sheets - USD ($)<br></strong></div></th>
<th class="th"><div>Jun. 30, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AssetsCurrentAbstract', 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" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsAtCarryingValue', window );">Cash and cash equivalents</a></td>
<td class="nump">$ 7,413,753<span></span>
</td>
<td class="nump">$ 6,115,099<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DepositsAssetsCurrent', window );">Term deposits</a></td>
<td class="nump">1,010,241<span></span>
</td>
<td class="nump">700,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountsReceivableNetCurrent', window );">Accounts receivable, net (Note 4)</a></td>
<td class="nump">7,435,050<span></span>
</td>
<td class="nump">9,449,857<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryNet', window );">Inventories (Note 5)</a></td>
<td class="nump">11,316,229<span></span>
</td>
<td class="nump">14,419,430<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PrepaidExpenseCurrent', window );">Prepaid expenses</a></td>
<td class="nump">868,880<span></span>
</td>
<td class="nump">310,297<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AssetsCurrent', window );">Total current assets</a></td>
<td class="nump">28,044,153<span></span>
</td>
<td class="nump">30,994,683<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentNet', window );">Property, equipment and leaseholds, net (Note 6)</a></td>
<td class="nump">12,821,907<span></span>
</td>
<td class="nump">9,709,288<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseRightOfUseAsset', window );">Right of use assets (Note 3)</a></td>
<td class="nump">141,535<span></span>
</td>
<td class="nump">167,222<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IntangibleAssetsNetExcludingGoodwill', window );">Intangible assets (Note 8)</a></td>
<td class="nump">2,360,000<span></span>
</td>
<td class="nump">2,440,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DepositsAssetsNoncurrent', window );">Long term deposits (Note 9)</a></td>
<td class="nump">370,156<span></span>
</td>
<td class="nump">8,540<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EquityMethodInvestments', window );">Investments (Note 10)</a></td>
<td class="nump">6,255,598<span></span>
</td>
<td class="nump">5,458,895<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Goodwill (Note 8)</a></td>
<td class="nump">2,534,275<span></span>
</td>
<td class="nump">2,534,275<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxAssetsNet', window );">Deferred tax asset</a></td>
<td class="nump">274,289<span></span>
</td>
<td class="nump">274,289<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Assets', window );">Total Assets</a></td>
<td class="nump">52,801,913<span></span>
</td>
<td class="nump">51,587,192<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LiabilitiesCurrentAbstract', window );"><strong>Current</strong></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="Show.showAR( this, 'defref_us-gaap_AccountsPayableCurrent', window );">Accounts payable</a></td>
<td class="nump">1,633,623<span></span>
</td>
<td class="nump">873,904<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccruedLiabilitiesCurrent', window );">Accrued liabilities</a></td>
<td class="nump">734,609<span></span>
</td>
<td class="nump">959,856<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredRevenueCurrent', window );">Deferred revenue</a></td>
<td class="nump">35,406<span></span>
</td>
<td class="nump">387,763<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TaxesPayableCurrent', window );">Income taxes payable</a></td>
<td class="nump">4,891,927<span></span>
</td>
<td class="nump">4,486,350<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LinesOfCreditCurrent', window );">Short term line of credit (Note 11)</a></td>
<td class="text"> <span></span>
</td>
<td class="nump">2,818,591<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiabilityCurrent', window );">Current portion of lease liability (Note 3)</a></td>
<td class="nump">58,800<span></span>
</td>
<td class="nump">58,080<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongTermDebtCurrent', window );">Current portion of long term debt (Note 12)</a></td>
<td class="nump">738,916<span></span>
</td>
<td class="nump">717,612<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LiabilitiesCurrent', window );">Total current liabilities</a></td>
<td class="nump">8,093,281<span></span>
</td>
<td class="nump">10,302,156<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiabilityNoncurrent', window );">Lease liability (Note 3)</a></td>
<td class="nump">82,735<span></span>
</td>
<td class="nump">109,142<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxLiabilitiesNet', window );">Deferred income tax liability</a></td>
<td class="nump">500,459<span></span>
</td>
<td class="nump">500,459<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongTermDebtNoncurrent', window );">Long term debt (Note 12)</a></td>
<td class="nump">7,302,188<span></span>
</td>
<td class="nump">5,436,465<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Liabilities', window );">Total Liabilities</a></td>
<td class="nump">15,978,663<span></span>
</td>
<td class="nump">16,348,222<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="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="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockValue', window );">Authorized: 50,000,000 common shares with a par value of $0.001 each; 1,000,000 preferred shares with a par value of $0.01 each 12,435,532 (December 31, 2022: 12,426,260) common shares</a></td>
<td class="nump">12,436<span></span>
</td>
<td class="nump">12,426<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdditionalPaidInCapital', window );">Capital in excess of par value</a></td>
<td class="nump">17,903,461<span></span>
</td>
<td class="nump">17,523,345<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax', window );">Other comprehensive loss</a></td>
<td class="num">(746,393)<span></span>
</td>
<td class="num">(805,799)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RetainedEarningsAccumulatedDeficit', window );">Accumulated earnings</a></td>
<td class="nump">16,971,421<span></span>
</td>
<td class="nump">15,903,964<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Total stockholders&#8217; equity &#8211; controlling interest</a></td>
<td class="nump">34,140,925<span></span>
</td>
<td class="nump">32,633,936<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_MinorityInterest', window );">Non-controlling interests (Note 15)</a></td>
<td class="nump">2,682,325<span></span>
</td>
<td class="nump">2,605,034<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest', window );">Total Stockholders&#8217; Equity</a></td>
<td class="nump">36,823,250<span></span>
</td>
<td class="nump">35,238,970<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LiabilitiesAndStockholdersEquity', window );">Total Liabilities and Stockholders&#8217; Equity</a></td>
<td class="nump">$ 52,801,913<span></span>
</td>
<td class="nump">$ 51,587,192<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_AccountsPayableCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<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> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481990/310-10-45-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481990/310-10-45-9<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_AccruedLiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<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> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_AccumulatedOtherComprehensiveIncomeLossNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after tax, of accumulated increase (decrease) in equity from transaction and other event and circumstance from nonowner source.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14A<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-14A<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-11<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480016/944-40-65-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (h)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480016/944-40-65-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30)(a)(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(23)(a)(3))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-14<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax</td>
</tr>
<tr>
<td style="padding-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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(18))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30)(a)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_Assets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481231/810-10-45-25<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 6: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 7: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-12<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(12))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(8))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(18))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 13: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 14: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 23: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481404/852-10-50-7<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 26: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(11))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481231/810-10-45-25<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 6: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483467/210-10-45-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 10: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 11: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481404/852-10-50-7<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483467/210-10-45-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_CommonStockValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_DeferredIncomeTaxAssetsNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482525/740-10-45-4<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482525/740-10-45-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(15)(b)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482525/740-10-45-4<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482525/740-10-45-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_DeferredRevenueCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred income and obligation to transfer product and service to customer for which consideration has been received or is receivable, classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredRevenueCurrent</td>
</tr>
<tr>
<td style="padding-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_DepositsAssetsCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Carrying value of amounts transferred to third parties for security purposes that are expected to be returned or applied towards payment within one year or during the operating cycle, if shorter.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(8))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DepositsAssetsCurrent</td>
</tr>
<tr>
<td style="padding-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_DepositsAssetsNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Carrying value of amounts transferred to third parties for security purposes that are expected to be returned or applied towards payment after one year or beyond the operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(17))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DepositsAssetsNoncurrent</td>
</tr>
<tr>
<td style="padding-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_EquityMethodInvestments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>This item represents the carrying amount on the entity's balance sheet of its investment in common stock of an equity method investee. This is not an indicator of the fair value of the investment, rather it is the initial cost adjusted for the entity's share of earnings and losses of the investee, adjusted for any distributions (dividends) and other than temporary impairment (OTTI) losses recognized.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481664/323-10-45-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(10))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 25<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-25<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EquityMethodInvestments</td>
</tr>
<tr>
<td style="padding-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_Goodwill">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482548/350-20-55-24<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(15))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482598/350-20-45-1<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482573/350-20-50-1<br><br>Reference 6: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (h)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482573/350-20-50-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(10)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph ((a)(1),(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-50-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482686/350-30-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483467/210-10-45-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481231/810-10-45-25<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-3<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 7: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-12<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(14))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 10: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 19: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481404/852-10-50-7<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481404/852-10-50-7<br><br>Reference 21: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 22: http://fasb.org/us-gaap/role/ref/legacyRef<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> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(25))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(23))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-1<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(32))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481231/810-10-45-25<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-3<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 7: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483467/210-10-45-5<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 10: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 19: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481404/852-10-50-7<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481404/852-10-50-7<br><br>Reference 21: http://fasb.org/us-gaap/role/ref/legacyRef<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> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_LinesOfCreditCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The carrying value as of the balance sheet date of the current portion of long-term obligations drawn from a line of credit, which is a bank's commitment to make loans up to a specific amount. Examples of items that might be included in the application of this element may consist of letters of credit, standby letters of credit, and revolving credit arrangements, under which borrowings can be made up to a maximum amount as of any point in time conditional on satisfaction of specified terms before, as of and after the date of drawdowns on the line. Includes short-term obligations that would normally be classified as current liabilities but for which (a) postbalance sheet date issuance of a long term obligation to refinance the short term obligation on a long term basis, or (b) the enterprise has entered into a financing agreement that clearly permits the enterprise to refinance the short-term obligation on a long term basis and the following conditions are met (1) the agreement does not expire within 1 year and is not cancelable by the lender except for violation of an objectively determinable provision, (2) no violation exists at the BS date, and (3) the lender has entered into the financing agreement is expected to be financially capable of honoring the agreement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(19))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(13))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LinesOfCreditCurrent</td>
</tr>
<tr>
<td style="padding-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_LongTermDebtCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after deduction of unamortized premium (discount) and debt issuance cost, of long-term debt classified as current. Excludes lease obligation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermDebtCurrent</td>
</tr>
<tr>
<td style="padding-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_LongTermDebtNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after deduction of unamortized premium (discount) and debt issuance cost, of long-term debt classified as noncurrent. Excludes lease obligation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermDebtNoncurrent</td>
</tr>
<tr>
<td style="padding-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_MinorityInterest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of equity (deficit) attributable to noncontrolling interest. Excludes temporary equity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(24))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(19))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 12: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-1<br><br>Reference 13: http://fasb.org/us-gaap/role/ref/legacyRef<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> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_MinorityInterest</td>
</tr>
<tr>
<td style="padding-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_OperatingLeaseLiabilityCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from operating lease, classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479041/842-20-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiabilityCurrent</td>
</tr>
<tr>
<td style="padding-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_OperatingLeaseLiabilityNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from operating lease, classified as noncurrent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479041/842-20-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiabilityNoncurrent</td>
</tr>
<tr>
<td style="padding-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_OperatingLeaseRightOfUseAsset">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's right to use underlying asset under operating lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479041/842-20-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseRightOfUseAsset</td>
</tr>
<tr>
<td style="padding-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_PrepaidExpenseCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483467/210-10-45-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(7))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 340<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 05<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482955/340-10-05-5<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 340<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483032/340-10-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -SubTopic 10<br> -Topic 360<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482099/360-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(8))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 360<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480842/942-360-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_RetainedEarningsAccumulatedDeficit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of accumulated undistributed earnings (deficit).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480016/944-40-65-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (h)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480016/944-40-65-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480990/946-20-50-11<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(23)(a)(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(17))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480008/505-10-S99-1<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30)(a)(3))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of equity (deficit) attributable to parent. Excludes temporary equity and equity attributable to noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-12<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(19))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.6-05(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-2<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(4)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(6))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(7))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 8: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 9: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 10: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 11: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 12: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(31))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 13: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 14: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 4.E)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480418/310-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of equity (deficit) attributable to parent and noncontrolling interest. Excludes temporary equity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483421/250-10-45-24<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 23<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483421/250-10-45-23<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 5<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483421/250-10-45-5<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 5<br> -Subparagraph (c)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479654/326-10-65-5<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480528/815-20-65-6<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (h)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480528/815-20-65-6<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (h)(1)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480528/815-20-65-6<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (h)(1)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480528/815-20-65-6<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (h)(1)(iv)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480528/815-20-65-6<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (i)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480528/815-20-65-6<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 848<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (a)(3)(iii)(03)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483550/848-10-65-2<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 105<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479343/105-10-65-6<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 105<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479343/105-10-65-6<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (f)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480016/944-40-65-2<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (f)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480016/944-40-65-2<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 8<br> -Subparagraph (d)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482615/740-10-65-8<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 8<br> -Subparagraph (d)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482615/740-10-65-8<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 4<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479654/326-10-65-4<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 15<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480336/718-10-65-15<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 15<br> -Subparagraph (f)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480336/718-10-65-15<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 15<br> -Subparagraph (f)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480336/718-10-65-15<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-1<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-7<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482765/220-10-50-5<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481674/830-30-50-1<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 17<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481694/830-30-45-17<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 20<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481694/830-30-45-20<br><br>Reference 29: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-11<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 205<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480767/946-205-45-3<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 505<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481004/946-505-50-3<br><br>Reference 32: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(19))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.6-05(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-2<br><br>Reference 34: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(4)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 35: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(6))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 36: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(7))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 37: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480008/505-10-S99-1<br><br>Reference 38: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 39: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 40: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 41: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481231/810-10-45-15<br><br>Reference 42: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 16<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481231/810-10-45-16<br><br>Reference 43: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 55<br> -Paragraph 4I<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481175/810-10-55-4I<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest</td>
</tr>
<tr>
<td style="padding-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_TaxesPayableCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<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> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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>12
<FILENAME>R3.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/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.23.2</span><table class="report" border="0" cellspacing="2" id="idm139976173512960">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Condensed Interim Consolidated Balance Sheets (Parenthetical) - $ / shares<br></strong></div></th>
<th class="th"><div>Jun. 30, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="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" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockSharesAuthorized', window );">Common stock, shares authorized</a></td>
<td class="nump">50,000,000<span></span>
</td>
<td class="nump">50,000,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="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="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PreferredStockSharesAuthorized', window );">Preferred stock, shares authorized</a></td>
<td class="nump">1,000,000<span></span>
</td>
<td class="nump">1,000,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PreferredStockParOrStatedValuePerShare', window );">Preferred stock, par value</a></td>
<td class="nump">$ 0.01<span></span>
</td>
<td class="nump">$ 0.01<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockSharesIssued', window );">Common stock, shares issued</a></td>
<td class="nump">12,435,532<span></span>
</td>
<td class="nump">12,426,260<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockSharesOutstanding', window );">Common stock, shares outstanding</a></td>
<td class="nump">12,435,532<span></span>
</td>
<td class="nump">12,426,260<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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(16)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 505<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.6-05(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-2<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(4)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(16)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(7))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-13<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(16)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_StatementOfFinancialPositionAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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>13
<FILENAME>R4.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/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.23.2</span><table class="report" border="0" cellspacing="2" id="idm139976171830480">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Condensed Interim Consolidated Statements of Operations and Comprehensive Income (Unaudited) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="2">6 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jun. 30, 2023</div></th>
<th class="th"><div>Jun. 30, 2022</div></th>
<th class="th"><div>Jun. 30, 2023</div></th>
<th class="th"><div>Jun. 30, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="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>
<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="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Sales</a></td>
<td class="nump">$ 10,331,291<span></span>
</td>
<td class="nump">$ 11,165,143<span></span>
</td>
<td class="nump">$ 20,178,808<span></span>
</td>
<td class="nump">$ 21,948,423<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CostOfGoodsAndServicesSold', window );">Cost of sales</a></td>
<td class="nump">7,292,438<span></span>
</td>
<td class="nump">7,303,537<span></span>
</td>
<td class="nump">14,054,963<span></span>
</td>
<td class="nump">14,274,916<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GrossProfit', window );">Gross profit</a></td>
<td class="nump">3,038,853<span></span>
</td>
<td class="nump">3,861,606<span></span>
</td>
<td class="nump">6,123,845<span></span>
</td>
<td class="nump">7,673,507<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="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>
<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="Show.showAR( this, 'defref_us-gaap_SalariesAndWages', window );">Wages</a></td>
<td class="nump">787,621<span></span>
</td>
<td class="nump">679,289<span></span>
</td>
<td class="nump">1,459,313<span></span>
</td>
<td class="nump">1,302,792<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OfficersCompensation', window );">Administrative salaries and benefits</a></td>
<td class="nump">394,305<span></span>
</td>
<td class="nump">227,026<span></span>
</td>
<td class="nump">787,319<span></span>
</td>
<td class="nump">460,611<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GeneralInsuranceExpense', window );">Insurance</a></td>
<td class="nump">228,445<span></span>
</td>
<td class="nump">137,325<span></span>
</td>
<td class="nump">429,975<span></span>
</td>
<td class="nump">322,685<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InterestExpense', window );">Interest expense</a></td>
<td class="nump">115,498<span></span>
</td>
<td class="nump">52,139<span></span>
</td>
<td class="nump">250,368<span></span>
</td>
<td class="nump">109,757<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProfessionalFees', window );">Professional fees</a></td>
<td class="nump">79,532<span></span>
</td>
<td class="nump">415,322<span></span>
</td>
<td class="nump">142,299<span></span>
</td>
<td class="nump">465,903<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherGeneralExpense', window );">Office and miscellaneous</a></td>
<td class="nump">74,944<span></span>
</td>
<td class="nump">123,342<span></span>
</td>
<td class="nump">173,790<span></span>
</td>
<td class="nump">159,312<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="Show.showAR( this, 'defref_FSI_Consulting', window );">Consulting</a></td>
<td class="nump">69,253<span></span>
</td>
<td class="nump">86,417<span></span>
</td>
<td class="nump">132,230<span></span>
</td>
<td class="nump">162,691<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TravelAndEntertainmentExpense', window );">Travel</a></td>
<td class="nump">64,612<span></span>
</td>
<td class="nump">47,718<span></span>
</td>
<td class="nump">126,264<span></span>
</td>
<td class="nump">92,526<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SellingAndMarketingExpense', window );">Advertising and promotion</a></td>
<td class="nump">62,011<span></span>
</td>
<td class="nump">52,176<span></span>
</td>
<td class="nump">110,409<span></span>
</td>
<td class="nump">92,205<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="Show.showAR( this, 'defref_FSI_InvestorRelationsAndTransferAgentFee', window );">Investor relations and transfer agent fee</a></td>
<td class="nump">32,993<span></span>
</td>
<td class="nump">28,780<span></span>
</td>
<td class="nump">122,885<span></span>
</td>
<td class="nump">65,877<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseExpense', window );">Lease expense</a></td>
<td class="nump">27,645<span></span>
</td>
<td class="nump">51,614<span></span>
</td>
<td class="nump">52,940<span></span>
</td>
<td class="nump">93,839<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ResearchAndDevelopmentExpense', window );">Research</a></td>
<td class="nump">15,833<span></span>
</td>
<td class="nump">26,561<span></span>
</td>
<td class="nump">37,335<span></span>
</td>
<td class="nump">44,257<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ForeignCurrencyTransactionGainLossBeforeTax', window );">Currency exchange</a></td>
<td class="nump">13,925<span></span>
</td>
<td class="nump">99<span></span>
</td>
<td class="nump">16,501<span></span>
</td>
<td class="nump">11,632<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommunicationsAndInformationTechnology', window );">Telecommunications</a></td>
<td class="nump">10,432<span></span>
</td>
<td class="nump">11,103<span></span>
</td>
<td class="nump">23,010<span></span>
</td>
<td class="nump">20,559<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_UtilitiesOperatingExpense', window );">Utilities</a></td>
<td class="nump">5,487<span></span>
</td>
<td class="nump">7,566<span></span>
</td>
<td class="nump">12,974<span></span>
</td>
<td class="nump">15,184<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="Show.showAR( this, 'defref_FSI_ShippingCost', window );">Shipping</a></td>
<td class="nump">5,100<span></span>
</td>
<td class="nump">8,907<span></span>
</td>
<td class="nump">9,766<span></span>
</td>
<td class="nump">12,901<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="Show.showAR( this, 'defref_FSI_Commissions', window );">Commissions</a></td>
<td class="text"> <span></span>
</td>
<td class="nump">57,506<span></span>
</td>
<td class="nump">2,985<span></span>
</td>
<td class="nump">60,930<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingExpenses', window );">Total operating expenses</a></td>
<td class="nump">1,987,636<span></span>
</td>
<td class="nump">2,012,890<span></span>
</td>
<td class="nump">3,890,363<span></span>
</td>
<td class="nump">3,493,661<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingIncomeLoss', window );">Operating income</a></td>
<td class="nump">1,051,217<span></span>
</td>
<td class="nump">1,848,716<span></span>
</td>
<td class="nump">2,233,482<span></span>
</td>
<td class="nump">4,179,846<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="Show.showAR( this, 'defref_FSI_GainOnAcquisitionOfSubsidiaries', window );">Gain on acquisition of ENP Peru</a></td>
<td class="text"> <span></span>
</td>
<td class="nump">335,051<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">335,051<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GainLossOnInvestments', window );">Gain on investment</a></td>
<td class="nump">256,708<span></span>
</td>
<td class="nump">177,552<span></span>
</td>
<td class="nump">326,703<span></span>
</td>
<td class="nump">214,316<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InterestIncomeOther', window );">Interest income</a></td>
<td class="nump">41,174<span></span>
</td>
<td class="nump">10,053<span></span>
</td>
<td class="nump">53,185<span></span>
</td>
<td class="nump">32,141<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest', window );">Income before income tax</a></td>
<td class="nump">1,349,099<span></span>
</td>
<td class="nump">2,371,372<span></span>
</td>
<td class="nump">2,613,370<span></span>
</td>
<td class="nump">4,761,354<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxesAndTaxCreditsAbstract', window );"><strong>Income taxes</strong></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>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxExpenseBenefit', window );">Income tax expense</a></td>
<td class="num">(354,372)<span></span>
</td>
<td class="num">(542,802)<span></span>
</td>
<td class="num">(654,149)<span></span>
</td>
<td class="num">(1,255,248)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProfitLoss', window );">Net income for the period including non-controlling interests</a></td>
<td class="nump">994,727<span></span>
</td>
<td class="nump">1,828,570<span></span>
</td>
<td class="nump">1,959,221<span></span>
</td>
<td class="nump">3,506,106<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLossAttributableToNoncontrollingInterest', window );">Less: Net income attributable to non-controlling interests</a></td>
<td class="num">(184,862)<span></span>
</td>
<td class="num">(166,115)<span></span>
</td>
<td class="num">(264,987)<span></span>
</td>
<td class="num">(310,592)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net income attributable to controlling interest</a></td>
<td class="nump">$ 809,865<span></span>
</td>
<td class="nump">$ 1,662,455<span></span>
</td>
<td class="nump">$ 1,694,234<span></span>
</td>
<td class="nump">$ 3,195,514<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareBasic', window );">Income per share (basic)</a></td>
<td class="nump">$ 0.07<span></span>
</td>
<td class="nump">$ 0.13<span></span>
</td>
<td class="nump">$ 0.14<span></span>
</td>
<td class="nump">$ 0.26<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareDiluted', window );">Income per share (diluted)</a></td>
<td class="nump">$ 0.06<span></span>
</td>
<td class="nump">$ 0.13<span></span>
</td>
<td class="nump">$ 0.14<span></span>
</td>
<td class="nump">$ 0.26<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic', window );">Weighted average number of common shares (basic)</a></td>
<td class="nump">12,435,532<span></span>
</td>
<td class="nump">12,384,131<span></span>
</td>
<td class="nump">12,434,230<span></span>
</td>
<td class="nump">12,372,785<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding', window );">Weighted average number of common shares (diluted)</a></td>
<td class="nump">12,519,930<span></span>
</td>
<td class="nump">12,478,751<span></span>
</td>
<td class="nump">12,498,945<span></span>
</td>
<td class="nump">12,511,400<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract', window );"><strong>Other comprehensive income:</strong></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>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProfitLoss', window );">Net income</a></td>
<td class="nump">$ 994,727<span></span>
</td>
<td class="nump">$ 1,828,570<span></span>
</td>
<td class="nump">$ 1,959,221<span></span>
</td>
<td class="nump">$ 3,506,106<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax', window );">Unrealized gain (loss) on foreign currency translations</a></td>
<td class="nump">226,645<span></span>
</td>
<td class="num">(1,907)<span></span>
</td>
<td class="nump">59,406<span></span>
</td>
<td class="nump">40,636<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest', window );">Total comprehensive income</a></td>
<td class="nump">1,221,372<span></span>
</td>
<td class="nump">1,826,663<span></span>
</td>
<td class="nump">2,018,627<span></span>
</td>
<td class="nump">3,546,742<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest', window );">Comprehensive income &#8211; non-controlling interest</a></td>
<td class="num">(184,862)<span></span>
</td>
<td class="num">(166,115)<span></span>
</td>
<td class="num">(264,987)<span></span>
</td>
<td class="num">(310,592)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ComprehensiveIncomeNetOfTax', window );">Comprehensive income attributable to Flexible Solutions International Inc.</a></td>
<td class="nump">$ 1,036,510<span></span>
</td>
<td class="nump">$ 1,660,548<span></span>
</td>
<td class="nump">$ 1,753,640<span></span>
</td>
<td class="nump">$ 3,236,150<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_FSI_Commissions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Commissions.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">FSI_Commissions</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</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_FSI_Consulting">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Consulting.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">FSI_Consulting</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</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_FSI_GainOnAcquisitionOfSubsidiaries">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Gain on acquisition of subsidiaries.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">FSI_GainOnAcquisitionOfSubsidiaries</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</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_FSI_InvestorRelationsAndTransferAgentFee">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Investor relations and transfer agent fee.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">FSI_InvestorRelationsAndTransferAgentFee</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</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_FSI_ShippingCost">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Shipping cost.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">FSI_ShippingCost</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</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_CommunicationsAndInformationTechnology">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of expense in the period for communications and data processing expense.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommunicationsAndInformationTechnology</td>
</tr>
<tr>
<td style="padding-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_ComprehensiveIncomeNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after tax of increase (decrease) in equity from transactions and other events and circumstances from net income and other comprehensive income, attributable to parent entity. Excludes changes in equity resulting from investments by owners and distributions to owners.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(24))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(26))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1A<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1B<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-5<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ComprehensiveIncomeNetOfTax</td>
</tr>
<tr>
<td style="padding-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_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after tax of increase (decrease) in equity from transactions and other events and circumstances from net income (loss) and other comprehensive income (loss), attributable to noncontrolling interests. Excludes changes in equity resulting from investments by owners and distributions to owners.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 20<br> -SubTopic 10<br> -Topic 810<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481231/810-10-45-20<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(23))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(25))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(21))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 21<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481231/810-10-45-21<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1A<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1B<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 55<br> -Paragraph 4K<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481175/810-10-55-4K<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest</td>
</tr>
<tr>
<td style="padding-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_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after tax of increase (decrease) in equity from transactions and other events and circumstances from net income and other comprehensive income. Excludes changes in equity resulting from investments by owners and distributions to owners.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 19<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481231/810-10-45-19<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(24))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1A<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1B<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 55<br> -Paragraph 4K<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481175/810-10-55-4K<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest</td>
</tr>
<tr>
<td style="padding-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_CostOfGoodsAndServicesSold">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate costs related to goods produced and sold and services rendered by an entity during the reporting period. This excludes costs incurred during the reporting period related to financial services rendered and other revenue generating activities.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 924<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479941/924-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.2(a),(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CostOfGoodsAndServicesSold</td>
</tr>
<tr>
<td style="padding-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_DeferredIncomeTaxesAndTaxCreditsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredIncomeTaxesAndTaxCreditsAbstract</td>
</tr>
<tr>
<td style="padding-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_EarningsPerShareBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 15<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482635/260-10-55-15<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-7<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-2<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-60B<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-4<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-10<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(25))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(27))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(23))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 16: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 52<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482635/260-10-55-52<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-7<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_EarningsPerShareDiluted">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 15<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482635/260-10-55-15<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-7<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-2<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-60B<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-4<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(25))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(27))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(23))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 15: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 52<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482635/260-10-55-52<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-7<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_ForeignCurrencyTransactionGainLossBeforeTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, before tax, of realized and unrealized gain (loss) from foreign currency transaction.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(7))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482014/830-20-35-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481956/830-20-45-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481926/830-20-50-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 17<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481839/830-10-45-17<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ForeignCurrencyTransactionGainLossBeforeTax</td>
</tr>
<tr>
<td style="padding-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_GainLossOnInvestments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of realized and unrealized gain (loss) on investment.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/recommendedDisclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.7(c),9(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GainLossOnInvestments</td>
</tr>
<tr>
<td style="padding-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_GeneralInsuranceExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The expense in the period incurred with respect to protection provided by insurance entities against risks other than risks associated with production (which are allocated to cost of sales).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GeneralInsuranceExpense</td>
</tr>
<tr>
<td style="padding-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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 6: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 17: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 19: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.1,2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(11))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 5: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 235<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-05(b)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479557/942-235-S99-1<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 25<br> -Paragraph 1<br> -SubTopic 20<br> -Topic 940<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481913/940-20-25-1<br><br>Reference 9: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(10))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 10: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(15))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-8<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-9<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-10<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB TOPIC 6.I.7)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (h)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Subparagraph (a)<br> -SubTopic 20<br> -Topic 740<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482659/740-20-45-2<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h))<br> -SubTopic 10<br> -Topic 235<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_InterestExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of the cost of borrowed funds accounted for as interest expense.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-10<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483581/946-220-45-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(3))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 45<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482925/835-30-45-3<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04.9)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (210.5-03(11))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 835<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483013/835-20-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InterestExpense</td>
</tr>
<tr>
<td style="padding-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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482765/220-10-50-6<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-8<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-9<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-4<br><br>Reference 13: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-10<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483581/946-220-45-7<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-1<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(1)(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-60B<br><br>Reference 32: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 34: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483499/205-20-50-7<br><br>Reference 35: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 36: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1A<br><br>Reference 37: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1B<br><br>Reference 38: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 39: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_NetIncomeLossAttributableToNoncontrollingInterest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of Net Income (Loss) attributable to noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-8<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-9<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(17))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482765/220-10-50-6<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (a)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-1A<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 55<br> -Paragraph 4J<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481175/810-10-55-4J<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1A<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1B<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLossAttributableToNoncontrollingInterest</td>
</tr>
<tr>
<td style="padding-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_OfficersCompensation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of expense for salary and wage arising from service rendered by officer. Excludes allocated cost, labor-related nonsalary expense, and direct and overhead labor cost included in cost of good and service sold.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OfficersCompensation</td>
</tr>
<tr>
<td style="padding-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_OperatingExpenses">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_OperatingLeaseExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of operating lease expense. Excludes sublease income.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 4<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479041/842-20-45-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseExpense</td>
</tr>
<tr>
<td style="padding-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_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after tax and reclassification adjustments of gain (loss) on foreign currency translation adjustments, foreign currency transactions designated and effective as economic hedges of a net investment in a foreign entity and intra-entity foreign currency transactions that are of a long-term-investment nature.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 10A<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 220<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-10A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax</td>
</tr>
<tr>
<td style="padding-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_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract</td>
</tr>
<tr>
<td style="padding-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_OtherGeneralExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of general expenses not normally included in Other Operating Costs and Expenses.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.6)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherGeneralExpense</td>
</tr>
<tr>
<td style="padding-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_ProfessionalFees">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>A fee charged for services from professionals such as doctors, lawyers and accountants. The term is often expanded to include other professions, for example, pharmacists charging to maintain a medicinal profile of a client or customer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-10<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3<br> -Subparagraph (k)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483581/946-220-45-3<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(2)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProfessionalFees</td>
</tr>
<tr>
<td style="padding-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_ProfitLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The consolidated profit or loss for the period, net of income taxes, including the portion attributable to the noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-8<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-9<br><br>Reference 8: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-11<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 205<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480767/946-205-45-3<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483581/946-220-45-7<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(16))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-1<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(1)(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 19<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481231/810-10-45-19<br><br>Reference 16: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482765/220-10-50-6<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 18: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 29: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 235<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-05(b)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479557/942-235-S99-1<br><br>Reference 32: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483499/205-20-50-7<br><br>Reference 33: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 4J<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481175/810-10-55-4J<br><br>Reference 34: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 4K<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481175/810-10-55-4K<br><br>Reference 35: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1A<br><br>Reference 36: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1B<br><br>Reference 37: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-2<br><br>Reference 38: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-1A<br><br>Reference 39: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (c)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-1A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProfitLoss</td>
</tr>
<tr>
<td style="padding-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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 730<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482916/730-10-50-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 912<br> -SubTopic 730<br> -Name Accounting Standards Codification<br> -Section 25<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482517/912-730-25-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 985<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481283/985-20-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 924<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479941/924-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-5<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 42<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-42<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-40<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-41<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_SalariesAndWages">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of expense for salary and wage arising from service rendered by nonofficer employee. Excludes allocated cost, labor-related nonsalary expense, and direct and overhead labor cost included in cost of good and service sold.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SalariesAndWages</td>
</tr>
<tr>
<td style="padding-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_SellingAndMarketingExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_TravelAndEntertainmentExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Expenses incurred for travel and entertainment during the period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TravelAndEntertainmentExpense</td>
</tr>
<tr>
<td style="padding-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_UtilitiesOperatingExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of operating expense of regulated operation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.2(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_UtilitiesOperatingExpense</td>
</tr>
<tr>
<td style="padding-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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 16<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-16<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-10<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>14
<FILENAME>R5.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/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.23.2</span><table class="report" border="0" cellspacing="2" id="idm139976171909216">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Condensed Interim Consolidated Statements of Cash Flows (Unaudited) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">6 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jun. 30, 2023</div></th>
<th class="th"><div>Jun. 30, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract', window );"><strong>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" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProfitLoss', window );">Net income for the period including non-controlling interest</a></td>
<td class="nump">$ 1,959,221<span></span>
</td>
<td class="nump">$ 3,506,106<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract', window );"><strong>Adjustments to reconcile net income to cash provided by operations:</strong></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="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensation', window );">Stock based compensation</a></td>
<td class="nump">366,526<span></span>
</td>
<td class="nump">109,465<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DepreciationAndAmortization', window );">Depreciation and amortization</a></td>
<td class="nump">751,574<span></span>
</td>
<td class="nump">472,278<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinanceLeaseRightOfUseAssetAmortization', window );">Lease right of use amortization</a></td>
<td class="nump">25,687<span></span>
</td>
<td class="nump">25,583<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="Show.showAR( this, 'defref_FSI_LeaseRightOfUseFinancing', window );">Lease right of use financing</a></td>
<td class="nump">3,353<span></span>
</td>
<td class="nump">4,678<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GainLossOnInvestments', window );">Gain on investment</a></td>
<td class="num">(326,703)<span></span>
</td>
<td class="num">(214,316)<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="Show.showAR( this, 'defref_FSI_GainOnAcquisitionOfSubsidiaries', window );">Gain on acquisition of ENP Peru</a></td>
<td class="text"> <span></span>
</td>
<td class="num">(335,051)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract', window );"><strong>Changes in non-cash working capital 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" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInAccountsReceivable', window );">(Increase) Decrease in accounts receivable</a></td>
<td class="nump">2,014,807<span></span>
</td>
<td class="nump">466,252<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInInventories', window );">(Increase) Decrease in inventories</a></td>
<td class="nump">3,646,494<span></span>
</td>
<td class="num">(5,683,515)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInPrepaidExpense', window );">(Increase) Decrease in prepaid expenses</a></td>
<td class="num">(558,583)<span></span>
</td>
<td class="num">(119,892)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities', window );">Increase (Decrease) in accounts payable and accrued liabilities</a></td>
<td class="num">(8,821)<span></span>
</td>
<td class="nump">1,416,460<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable', window );">Increase (Decrease) in taxes payable</a></td>
<td class="nump">405,577<span></span>
</td>
<td class="nump">1,255,248<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInContractWithCustomerLiability', window );">Increase (Decrease) deferred revenue</a></td>
<td class="num">(352,357)<span></span>
</td>
<td class="num">(110,760)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInOperatingActivities', window );">Cash provided by operating activities</a></td>
<td class="nump">7,926,775<span></span>
</td>
<td class="nump">792,536<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract', window );"><strong>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="Show.showAR( this, 'defref_FSI_ProceedsFromNoncontrollingInterest', window );">Non-controlling interest of 317 Mendota</a></td>
<td class="nump">200,000<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="Show.showAR( this, 'defref_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired', window );">Acquisition of ENP Peru</a></td>
<td class="text"> <span></span>
</td>
<td class="num">(499,329)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsToAcquireInvestments', window );">Additional investment in Trio</a></td>
<td class="num">(470,000)<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="Show.showAR( this, 'defref_us-gaap_ProceedsFromSaleOfEquityMethodInvestments', window );">Proceeds of equity method investment distributions</a></td>
<td class="text"> <span></span>
</td>
<td class="nump">108,750<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="Show.showAR( this, 'defref_FSI_DepositsOnPurchasesOfEquipment', window );">Deposits on purchases of equipment</a></td>
<td class="num">(361,616)<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="Show.showAR( this, 'defref_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment', window );">Net purchase of property, equipment and leaseholds</a></td>
<td class="num">(3,784,193)<span></span>
</td>
<td class="num">(422,067)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInInvestingActivities', window );">Cash (used in) investing activities</a></td>
<td class="num">(4,415,809)<span></span>
</td>
<td class="num">(812,646)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract', window );"><strong>Financing 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" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RepaymentsOfShortTermDebt', window );">Repayment of short term line of credit</a></td>
<td class="num">(2,818,591)<span></span>
</td>
<td class="num">(1,151,165)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RepaymentsOfLongTermDebt', window );">Repayment of long term debt</a></td>
<td class="num">(361,265)<span></span>
</td>
<td class="num">(1,945,865)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProceedsFromIssuanceOfLongTermDebt', window );">Proceeds from loans</a></td>
<td class="nump">2,248,292<span></span>
</td>
<td class="nump">2,194,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsOfDividends', window );">Dividends paid</a></td>
<td class="num">(626,777)<span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsOfFinancingCosts', window );">Lease financing costs</a></td>
<td class="num">(29,040)<span></span>
</td>
<td class="num">(30,261)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsToMinorityShareholders', window );">Distributions to non-controlling interest</a></td>
<td class="num">(387,696)<span></span>
</td>
<td class="num">(382,856)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProceedsFromIssuanceOfCommonStock', window );">Proceeds of issuance of common stock</a></td>
<td class="nump">13,600<span></span>
</td>
<td class="nump">74,020<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInFinancingActivities', window );">Cash (used in) financing activities</a></td>
<td class="num">(1,961,477)<span></span>
</td>
<td class="num">(1,242,127)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations', window );">Effect of exchange rate changes on cash</a></td>
<td class="nump">59,406<span></span>
</td>
<td class="nump">40,636<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect', window );">Inflow (outflow) of cash</a></td>
<td class="nump">1,608,895<span></span>
</td>
<td class="num">(1,221,601)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations', window );">Cash and cash equivalents, beginning</a></td>
<td class="nump">6,815,099<span></span>
</td>
<td class="nump">6,735,574<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations', window );">Cash resources</a></td>
<td class="nump">8,423,994<span></span>
</td>
<td class="nump">5,513,973<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsAbstract', window );"><strong>Cash and cash equivalents are comprised of:</strong></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="Show.showAR( this, 'defref_us-gaap_CashEquivalentsAtCarryingValue', window );">Cash and cash equivalents</a></td>
<td class="nump">7,413,753<span></span>
</td>
<td class="nump">4,488,626<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShortTermInvestments', window );">Term deposits</a></td>
<td class="nump">1,010,241<span></span>
</td>
<td class="nump">1,025,347<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="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="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxesPaidNet', window );">Income taxes paid</a></td>
<td class="nump">248,572<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="Show.showAR( this, 'defref_us-gaap_InterestPaidNet', window );">Interest paid</a></td>
<td class="nump">250,368<span></span>
</td>
<td class="nump">109,457<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="Show.showAR( this, 'defref_FSI_InventoryAdditionsInAccountsPayable', window );">Inventory additions in accounts payable</a></td>
<td class="nump">$ 250,110<span></span>
</td>
<td class="nump">$ 580,034<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_FSI_DepositsOnPurchasesOfEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Deposits on purchases of equipment.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">FSI_DepositsOnPurchasesOfEquipment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</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_FSI_GainOnAcquisitionOfSubsidiaries">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Gain on acquisition of subsidiaries.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">FSI_GainOnAcquisitionOfSubsidiaries</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</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_FSI_InventoryAdditionsInAccountsPayable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Inventory additions in accounts payable.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">FSI_InventoryAdditionsInAccountsPayable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</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_FSI_LeaseRightOfUseFinancing">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Lease right of use financing.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">FSI_LeaseRightOfUseFinancing</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</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_FSI_ProceedsFromNoncontrollingInterest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Proceeds from noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">FSI_ProceedsFromNoncontrollingInterest</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsAbstract</td>
</tr>
<tr>
<td style="padding-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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482913/230-10-50-8<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-24<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-24<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -SubTopic 230<br> -Topic 830<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481877/830-230-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_CashEquivalentsAtCarryingValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of 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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashEquivalentsAtCarryingValue</td>
</tr>
<tr>
<td style="padding-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_DepreciationAndAmortization">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The current period expense charged against earnings on long-lived, physical assets not used in production, and which are not intended for resale, to allocate or recognize the cost of such assets over their useful lives; or to record the reduction in book value of an intangible asset over the benefit period of such asset; or to reflect consumption during the period of an asset that is not used in production.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482099/360-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DepreciationAndAmortization</td>
</tr>
<tr>
<td style="padding-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_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) from effect of exchange rate changes on cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; held in foreign currencies; 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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 830<br> -SubTopic 230<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481877/830-230-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations</td>
</tr>
<tr>
<td style="padding-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_FinanceLeaseRightOfUseAssetAmortization">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of amortization expense attributable to right-of-use asset from finance lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 53<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479589/842-20-55-53<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 4<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479041/842-20-45-4<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinanceLeaseRightOfUseAssetAmortization</td>
</tr>
<tr>
<td style="padding-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_GainLossOnInvestments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of realized and unrealized gain (loss) on investment.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/recommendedDisclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.7(c),9(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GainLossOnInvestments</td>
</tr>
<tr>
<td style="padding-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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482913/230-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 912<br> -SubTopic 310<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482312/912-310-45-11<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 17<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-17<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-25<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482913/230-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-24<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-24<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-24<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-25<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_PaymentsOfDividends">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Cash outflow in the form of capital distributions and dividends to common shareholders, preferred shareholders and noncontrolling interests.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-15<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsOfDividends</td>
</tr>
<tr>
<td style="padding-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_PaymentsOfFinancingCosts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash outflow for loan and debt issuance costs.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-15<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsOfFinancingCosts</td>
</tr>
<tr>
<td style="padding-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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 13<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-13<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_PaymentsToAcquireInvestments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash outflow associated with the purchase of all investments (debt, security, other) during the period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 13<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-13<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsToAcquireInvestments</td>
</tr>
<tr>
<td style="padding-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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 13<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-13<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_PaymentsToMinorityShareholders">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash outflow to a noncontrolling interest. Includes, but not limited to, reduction of noncontrolling interest ownership. Excludes dividends paid to the noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-15<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsToMinorityShareholders</td>
</tr>
<tr>
<td style="padding-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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 14<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-14<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_ProceedsFromIssuanceOfLongTermDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash inflow from a debt initially having maturity due after one year or beyond the operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-03(i)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479886/946-10-S99-3<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-14<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromIssuanceOfLongTermDebt</td>
</tr>
<tr>
<td style="padding-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_ProceedsFromSaleOfEquityMethodInvestments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash inflow associated with the sale of equity method investments, which are investments in joint ventures and entities in which the entity has an equity ownership interest normally of 20 to 50 percent and exercises significant influence.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 12<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-12<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromSaleOfEquityMethodInvestments</td>
</tr>
<tr>
<td style="padding-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_ProfitLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The consolidated profit or loss for the period, net of income taxes, including the portion attributable to the noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-8<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-9<br><br>Reference 8: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-11<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 205<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480767/946-205-45-3<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483581/946-220-45-7<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(16))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-1<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(1)(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 19<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481231/810-10-45-19<br><br>Reference 16: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482765/220-10-50-6<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 18: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 29: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 235<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-05(b)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479557/942-235-S99-1<br><br>Reference 32: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483499/205-20-50-7<br><br>Reference 33: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 4J<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481175/810-10-55-4J<br><br>Reference 34: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 4K<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481175/810-10-55-4K<br><br>Reference 35: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1A<br><br>Reference 36: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1B<br><br>Reference 37: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-2<br><br>Reference 38: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-1A<br><br>Reference 39: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (c)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-1A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProfitLoss</td>
</tr>
<tr>
<td style="padding-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_RepaymentsOfLongTermDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash outflow for debt initially having maturity due after one year or beyond the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-03(i)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479886/946-10-S99-3<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-15<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RepaymentsOfLongTermDebt</td>
</tr>
<tr>
<td style="padding-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_RepaymentsOfShortTermDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash outflow for a borrowing having initial term of repayment within one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-15<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RepaymentsOfShortTermDebt</td>
</tr>
<tr>
<td style="padding-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_ShareBasedCompensation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of noncash expense for share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_ShortTermInvestments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of investments including trading securities, available-for-sale securities, held-to-maturity securities, and short-term investments classified as other and current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(8))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShortTermInvestments</td>
</tr>
<tr>
<td style="padding-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_SupplementalCashFlowInformationAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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>15
<FILENAME>R6.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/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.23.2</span><table class="report" border="0" cellspacing="2" id="idm139976164835616">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Condensed Interim Consolidated Statements of Stockholders' Equity (Unaudited) - USD ($)<br></strong></div></th>
<th class="th"><div>Common Stock [Member]</div></th>
<th class="th"><div>Capital in Excess of Par Value [Member]</div></th>
<th class="th"><div>Retained Earnings [Member]</div></th>
<th class="th"><div>AOCI Attributable to Parent [Member]</div></th>
<th class="th"><div>Parent [Member]</div></th>
<th class="th"><div>Noncontrolling Interest [Member]</div></th>
<th class="th"><div>Total</div></th>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest', window );">Balance at Dec. 31, 2021</a></td>
<td class="nump">$ 12,355<span></span>
</td>
<td class="nump">$ 16,983,648<span></span>
</td>
<td class="nump">$ 8,882,360<span></span>
</td>
<td class="num">$ (775,730)<span></span>
</td>
<td class="nump">$ 25,102,633<span></span>
</td>
<td class="nump">$ 2,602,843<span></span>
</td>
<td class="nump">$ 27,705,476<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharesOutstanding', window );">Balance, shares at Dec. 31, 2021</a></td>
<td class="nump">12,355,246<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">&#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="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent', window );">Translation adjustment</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">42,543<span></span>
</td>
<td class="nump">42,543<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">42,543<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProfitLoss', window );">Net income</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">1,533,059<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">1,533,059<span></span>
</td>
<td class="nump">144,477<span></span>
</td>
<td class="nump">1,677,536<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueNewIssues', window );">Common stock issued</a></td>
<td class="nump">$ 23<span></span>
</td>
<td class="nump">56,917<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">56,940<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">56,940<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesNewIssues', window );">Common stock issued, shares</a></td>
<td class="nump">22,500<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">&#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="Show.showAR( this, 'defref_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue', window );">Stock-based compensation</a></td>
<td class="text"> <span></span>
</td>
<td class="nump">54,271<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">54,271<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">54,271<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders', window );">Distributions to noncontrolling interests</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="num">(265,922)<span></span>
</td>
<td class="num">(265,922)<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest', window );">Balance at Mar. 31, 2022</a></td>
<td class="nump">$ 12,378<span></span>
</td>
<td class="nump">17,094,836<span></span>
</td>
<td class="nump">10,415,419<span></span>
</td>
<td class="num">(733,187)<span></span>
</td>
<td class="nump">26,789,446<span></span>
</td>
<td class="nump">2,481,398<span></span>
</td>
<td class="nump">29,270,844<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharesOutstanding', window );">Ending balance, shares at Mar. 31, 2022</a></td>
<td class="nump">12,377,746<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">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest', window );">Balance at Dec. 31, 2021</a></td>
<td class="nump">$ 12,355<span></span>
</td>
<td class="nump">16,983,648<span></span>
</td>
<td class="nump">8,882,360<span></span>
</td>
<td class="num">(775,730)<span></span>
</td>
<td class="nump">25,102,633<span></span>
</td>
<td class="nump">2,602,843<span></span>
</td>
<td class="nump">27,705,476<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharesOutstanding', window );">Balance, shares at Dec. 31, 2021</a></td>
<td class="nump">12,355,246<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">&#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="Show.showAR( this, 'defref_us-gaap_ProfitLoss', window );">Net income</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">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3,506,106<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest', window );">Balance at Jun. 30, 2022</a></td>
<td class="nump">$ 12,385<span></span>
</td>
<td class="nump">17,167,103<span></span>
</td>
<td class="nump">12,077,874<span></span>
</td>
<td class="num">(735,094)<span></span>
</td>
<td class="nump">28,522,268<span></span>
</td>
<td class="nump">2,530,579<span></span>
</td>
<td class="nump">31,052,847<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharesOutstanding', window );">Ending balance, shares at Jun. 30, 2022</a></td>
<td class="nump">12,384,746<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">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest', window );">Balance at Dec. 31, 2021</a></td>
<td class="nump">$ 12,355<span></span>
</td>
<td class="nump">16,983,648<span></span>
</td>
<td class="nump">8,882,360<span></span>
</td>
<td class="num">(775,730)<span></span>
</td>
<td class="nump">25,102,633<span></span>
</td>
<td class="nump">2,602,843<span></span>
</td>
<td class="nump">27,705,476<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharesOutstanding', window );">Balance, shares at Dec. 31, 2021</a></td>
<td class="nump">12,355,246<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">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest', window );">Balance at Dec. 31, 2022</a></td>
<td class="nump">$ 12,426<span></span>
</td>
<td class="nump">17,523,345<span></span>
</td>
<td class="nump">15,903,964<span></span>
</td>
<td class="num">(805,799)<span></span>
</td>
<td class="nump">32,633,936<span></span>
</td>
<td class="nump">2,605,034<span></span>
</td>
<td class="nump">35,238,970<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharesOutstanding', window );">Ending balance, shares at Dec. 31, 2022</a></td>
<td class="nump">12,426,260<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">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest', window );">Balance at Mar. 31, 2022</a></td>
<td class="nump">$ 12,378<span></span>
</td>
<td class="nump">17,094,836<span></span>
</td>
<td class="nump">10,415,419<span></span>
</td>
<td class="num">(733,187)<span></span>
</td>
<td class="nump">26,789,446<span></span>
</td>
<td class="nump">2,481,398<span></span>
</td>
<td class="nump">29,270,844<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharesOutstanding', window );">Balance, shares at Mar. 31, 2022</a></td>
<td class="nump">12,377,746<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">&#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="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent', window );">Translation adjustment</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="num">(1,907)<span></span>
</td>
<td class="num">(1,907)<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="num">(1,907)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProfitLoss', window );">Net income</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">1,662,455<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">1,662,455<span></span>
</td>
<td class="nump">166,115<span></span>
</td>
<td class="nump">1,828,570<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueNewIssues', window );">Common stock issued</a></td>
<td class="nump">$ 7<span></span>
</td>
<td class="nump">17,073<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">17,080<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">17,080<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesNewIssues', window );">Common stock issued, shares</a></td>
<td class="nump">7,000<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">&#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="Show.showAR( this, 'defref_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue', window );">Stock-based compensation</a></td>
<td class="text"> <span></span>
</td>
<td class="nump">55,194<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">55,194<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">55,194<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders', window );">Distributions to noncontrolling interests</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="num">(116,934)<span></span>
</td>
<td class="num">(116,934)<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest', window );">Balance at Jun. 30, 2022</a></td>
<td class="nump">$ 12,385<span></span>
</td>
<td class="nump">17,167,103<span></span>
</td>
<td class="nump">12,077,874<span></span>
</td>
<td class="num">(735,094)<span></span>
</td>
<td class="nump">28,522,268<span></span>
</td>
<td class="nump">2,530,579<span></span>
</td>
<td class="nump">31,052,847<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharesOutstanding', window );">Ending balance, shares at Jun. 30, 2022</a></td>
<td class="nump">12,384,746<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">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest', window );">Balance at Dec. 31, 2022</a></td>
<td class="nump">$ 12,426<span></span>
</td>
<td class="nump">17,523,345<span></span>
</td>
<td class="nump">15,903,964<span></span>
</td>
<td class="num">(805,799)<span></span>
</td>
<td class="nump">32,633,936<span></span>
</td>
<td class="nump">2,605,034<span></span>
</td>
<td class="nump">35,238,970<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharesOutstanding', window );">Balance, shares at Dec. 31, 2022</a></td>
<td class="nump">12,426,260<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">&#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="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent', window );">Translation adjustment</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="num">(167,239)<span></span>
</td>
<td class="num">(167,239)<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="num">(167,239)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProfitLoss', window );">Net income</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">884,369<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">884,369<span></span>
</td>
<td class="nump">80,125<span></span>
</td>
<td class="nump">964,494<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueNewIssues', window );">Common stock issued</a></td>
<td class="nump">$ 10<span></span>
</td>
<td class="nump">13,590<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">13,600<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">13,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="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesNewIssues', window );">Common stock issued, shares</a></td>
<td class="nump">9,272<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">&#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="Show.showAR( this, 'defref_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue', window );">Stock-based compensation</a></td>
<td class="text"> <span></span>
</td>
<td class="nump">185,298<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">185,298<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">185,298<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest', window );">Balance at Mar. 31, 2023</a></td>
<td class="nump">$ 12,436<span></span>
</td>
<td class="nump">17,722,233<span></span>
</td>
<td class="nump">16,788,333<span></span>
</td>
<td class="num">(973,038)<span></span>
</td>
<td class="nump">33,549,964<span></span>
</td>
<td class="nump">2,685,159<span></span>
</td>
<td class="nump">36,235,123<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharesOutstanding', window );">Ending balance, shares at Mar. 31, 2023</a></td>
<td class="nump">12,435,532<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">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest', window );">Balance at Dec. 31, 2022</a></td>
<td class="nump">$ 12,426<span></span>
</td>
<td class="nump">17,523,345<span></span>
</td>
<td class="nump">15,903,964<span></span>
</td>
<td class="num">(805,799)<span></span>
</td>
<td class="nump">32,633,936<span></span>
</td>
<td class="nump">2,605,034<span></span>
</td>
<td class="nump">35,238,970<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharesOutstanding', window );">Balance, shares at Dec. 31, 2022</a></td>
<td class="nump">12,426,260<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">&#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="Show.showAR( this, 'defref_us-gaap_ProfitLoss', window );">Net income</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">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,959,221<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest', window );">Balance at Jun. 30, 2023</a></td>
<td class="nump">$ 12,436<span></span>
</td>
<td class="nump">17,903,461<span></span>
</td>
<td class="nump">16,971,421<span></span>
</td>
<td class="num">(746,393)<span></span>
</td>
<td class="nump">34,140,925<span></span>
</td>
<td class="nump">2,682,325<span></span>
</td>
<td class="nump">36,823,250<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharesOutstanding', window );">Ending balance, shares at Jun. 30, 2023</a></td>
<td class="nump">12,435,532<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">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest', window );">Balance at Mar. 31, 2023</a></td>
<td class="nump">$ 12,436<span></span>
</td>
<td class="nump">17,722,233<span></span>
</td>
<td class="nump">16,788,333<span></span>
</td>
<td class="num">(973,038)<span></span>
</td>
<td class="nump">33,549,964<span></span>
</td>
<td class="nump">2,685,159<span></span>
</td>
<td class="nump">36,235,123<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharesOutstanding', window );">Balance, shares at Mar. 31, 2023</a></td>
<td class="nump">12,435,532<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">&#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="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent', window );">Translation adjustment</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">226,645<span></span>
</td>
<td class="nump">226,645<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">226,645<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProfitLoss', window );">Net income</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">809,865<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">809,865<span></span>
</td>
<td class="nump">184,862<span></span>
</td>
<td class="nump">994,727<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue', window );">Stock-based compensation</a></td>
<td class="text"> <span></span>
</td>
<td class="nump">181,228<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">181,228<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">181,228<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Dividends', window );">Dividends paid</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="num">(626,777)<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="num">(626,777)<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="num">(626,777)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NoncontrollingInterestIncreaseFromBusinessCombination', window );">Non-controlling interest of 317 Mendota LLC</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">200,000<span></span>
</td>
<td class="nump">200,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders', window );">Distributions to noncontrolling interests</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="num">(387,696)<span></span>
</td>
<td class="num">(387,696)<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest', window );">Balance at Jun. 30, 2023</a></td>
<td class="nump">$ 12,436<span></span>
</td>
<td class="nump">$ 17,903,461<span></span>
</td>
<td class="nump">$ 16,971,421<span></span>
</td>
<td class="num">$ (746,393)<span></span>
</td>
<td class="nump">$ 34,140,925<span></span>
</td>
<td class="nump">$ 2,682,325<span></span>
</td>
<td class="nump">$ 36,823,250<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharesOutstanding', window );">Ending balance, shares at Jun. 30, 2023</a></td>
<td class="nump">12,435,532<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">&#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_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase to additional paid-in capital (APIC) for recognition of cost for award under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480483/718-10-35-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 20<br> -Section 55<br> -Paragraph 13<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481089/718-20-55-13<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 20<br> -Section 55<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481089/718-20-55-12<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue</td>
</tr>
<tr>
<td style="padding-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_Dividends">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of paid and unpaid cash, stock, and paid-in-kind (PIK) dividends declared, for example, but not limited to, common and preferred stock.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480008/505-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -SubTopic 405<br> -Topic 942<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481071/942-405-45-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Dividends</td>
</tr>
<tr>
<td style="padding-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_MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Decrease in noncontrolling interest balance from payment of dividends or other distributions by the non-wholly owned subsidiary or partially owned entity, included in the consolidation of the parent entity, to the noncontrolling interest holders.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480008/505-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders</td>
</tr>
<tr>
<td style="padding-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_NoncontrollingInterestIncreaseFromBusinessCombination">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase in noncontrolling interest from a business combination.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (e)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479907/805-20-50-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480008/505-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (c)(2)<br> -SubTopic 10<br> -Topic 810<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-1A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NoncontrollingInterestIncreaseFromBusinessCombination</td>
</tr>
<tr>
<td style="padding-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_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after tax and reclassification adjustments of gain (loss) on foreign currency translation adjustments, foreign currency transactions designated and effective as economic hedges of a net investment in a foreign entity and intra-entity foreign currency transactions that are of a long-term-investment nature, attributable to parent entity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 19<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481231/810-10-45-19<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 20<br> -SubTopic 10<br> -Topic 810<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481231/810-10-45-20<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (c)(3)<br> -SubTopic 10<br> -Topic 810<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-1A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent</td>
</tr>
<tr>
<td style="padding-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_ProfitLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The consolidated profit or loss for the period, net of income taxes, including the portion attributable to the noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-8<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-9<br><br>Reference 8: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-11<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 205<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480767/946-205-45-3<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483581/946-220-45-7<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(16))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-1<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(1)(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 19<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481231/810-10-45-19<br><br>Reference 16: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482765/220-10-50-6<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 18: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 29: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 235<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-05(b)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479557/942-235-S99-1<br><br>Reference 32: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483499/205-20-50-7<br><br>Reference 33: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 4J<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481175/810-10-55-4J<br><br>Reference 34: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 4K<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481175/810-10-55-4K<br><br>Reference 35: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1A<br><br>Reference 36: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1B<br><br>Reference 37: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-2<br><br>Reference 38: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-1A<br><br>Reference 39: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (c)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-1A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProfitLoss</td>
</tr>
<tr>
<td style="padding-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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_StockIssuedDuringPeriodSharesNewIssues">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of new stock issued during the period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 505<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 505<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481004/946-505-50-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(4)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-03(i)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479886/946-10-S99-3<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480008/505-10-S99-1<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_StockIssuedDuringPeriodValueNewIssues">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 505<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-11<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 205<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 4<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480767/946-205-45-4<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 505<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481004/946-505-50-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(4)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480008/505-10-S99-1<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of equity (deficit) attributable to parent and noncontrolling interest. Excludes temporary equity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483421/250-10-45-24<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 23<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483421/250-10-45-23<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 5<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483421/250-10-45-5<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 5<br> -Subparagraph (c)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479654/326-10-65-5<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480528/815-20-65-6<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (h)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480528/815-20-65-6<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (h)(1)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480528/815-20-65-6<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (h)(1)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480528/815-20-65-6<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (h)(1)(iv)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480528/815-20-65-6<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (i)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480528/815-20-65-6<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 848<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (a)(3)(iii)(03)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483550/848-10-65-2<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 105<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479343/105-10-65-6<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 105<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479343/105-10-65-6<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (f)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480016/944-40-65-2<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (f)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480016/944-40-65-2<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 8<br> -Subparagraph (d)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482615/740-10-65-8<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 8<br> -Subparagraph (d)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482615/740-10-65-8<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 4<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479654/326-10-65-4<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 15<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480336/718-10-65-15<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 15<br> -Subparagraph (f)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480336/718-10-65-15<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 15<br> -Subparagraph (f)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480336/718-10-65-15<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-1<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-7<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482765/220-10-50-5<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481674/830-30-50-1<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 17<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481694/830-30-45-17<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 20<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481694/830-30-45-20<br><br>Reference 29: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-11<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 205<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480767/946-205-45-3<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 505<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481004/946-505-50-3<br><br>Reference 32: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(19))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.6-05(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-2<br><br>Reference 34: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(4)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 35: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(6))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 36: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(7))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 37: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480008/505-10-S99-1<br><br>Reference 38: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 39: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 40: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 41: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481231/810-10-45-15<br><br>Reference 42: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 16<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481231/810-10-45-16<br><br>Reference 43: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 55<br> -Paragraph 4I<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481175/810-10-55-4I<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest</td>
</tr>
<tr>
<td style="padding-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>16
<FILENAME>R7.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/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.23.2</span><table class="report" border="0" cellspacing="2" id="idm139976175644048">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>BASIS OF PRESENTATION<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="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" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessDescriptionAndBasisOfPresentationTextBlock', window );">BASIS OF PRESENTATION</a></td>
<td class="text"><p id="xdx_807_eus-gaap--BusinessDescriptionAndBasisOfPresentationTextBlock_zwuieF7RzZ7f" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b>1.
<span id="xdx_82B_z19WeQBfZQdj">BASIS OF PRESENTATION</span></b></span><b><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">.</span></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; 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: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">These
interim condensed consolidated financial statements (&#8220;consolidated financial statements&#8221;) include the accounts of Flexible
Solutions International, Inc. (the &#8220;Company&#8221;), its wholly-owned subsidiaries Flexible Fermentation Ltd., NanoChem Solutions
Inc. (&#8220;NanoChem&#8221;), Flexible Solutions Ltd., Flexible Biomass LP, FS Biomass Inc., NCS Deferred Corp., Natural Chem SEZC Ltd.,
InnFlex Holdings Inc., ENP Peru Investments LLC (&#8220;ENP Peru&#8221;), its <span id="xdx_901_eus-gaap--SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest_pid_dp_uPure_c20230101__20230630__srt--OwnershipAxis__custom--EnpPeruInvestmentsLlcMember_zms28bf4l302">100</span>% controlling interest in 317 Mendota LLC, and its <span id="xdx_90A_eus-gaap--SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest_pid_dp_uPure_c20230101__20230630__srt--OwnershipAxis__custom--ENPInvestmentsLLCAndENPMendotaMember_z8GGCSSsQaMh">65</span></span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">%
controlling interest in ENP Investments, LLC (&#8220;ENP Investments&#8221;) and ENP Mendota, LLC (&#8220;ENP Mendota&#8221;). All inter-company
balances and transactions have been eliminated upon consolidation. The Company was incorporated on May 12, 1998 in the State of Nevada
and had no operations until June 30, 1998. In 2019, the Company redomiciled into Alberta, Canada.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
2022, NanoChem purchased an additional <span id="xdx_900_eus-gaap--SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest_pid_dp_uPure_c20220101__20221231__srt--OwnershipAxis__custom--ENPPeruMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--UnrelatedPartyMember_zATlqh3cWIWd" title="Subsidiary company ownership interest rate">50</span>%
in ENP Peru, increasing its share to <span id="xdx_905_ecustom--IncreaseDecreaseInSharePercentage_pid_dp_uPure_c20220101__20221231__srt--OwnershipAxis__custom--ENPPeruMember_zgWZWSvH7XK5" title="Increase decrease in share percentage">50</span>%.
ENP Investments owns the remaining <span id="xdx_901_ecustom--RemainingInvestmentOwnedPercentage_pid_dp_uPure_c20220101__20221231__srt--OwnershipAxis__custom--ENPPeruMember_zPgKYpiZzaUc" title="Remaining investment owned percentage">8.33</span>%,
of which the Company has a <span id="xdx_90B_eus-gaap--SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest_pid_dp_uPure_c20220101__20220630__srt--OwnershipAxis__custom--ENPPeruMember_zZiY5jHP6Tse" title="Subsidiary company ownership interest rate">100</span>%
interest. In 2023, NanoChem purchased the remaining <span id="xdx_90F_ecustom--RemainingInvestmentOwnedPercentage_pid_dp_uPure_c20230101__20230630__srt--OwnershipAxis__custom--ENPPeruMember_z4sLMXwFWoUk" title="Remaining investment owned percentage">nil</span>%
of shares to become sole owner. ENP Peru was previously accounted for under the equity method however, it is now consolidated into
the financial statements from the date control was obtained.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
June 2023, the Company purchased an <span id="xdx_90E_eus-gaap--SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest_pid_dp_uPure_c20230601__20230630__srt--OwnershipAxis__custom--MendotaLLCMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--UnrelatedPartyMember_zqM0cJnr0gvk" title="Subsidiary company ownership interest rate">80</span>%
interest in 317 Mendota LLC, a newly incorporated company established to purchase a large manufacturing building. ENP Investments will
occupy part of this building, freeing up more space in the building owned by ENP Peru for NanoChem. The Company intends to rent the
remainder of space to suitable tenants. The remaining <span id="xdx_902_eus-gaap--SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest_pid_dp_uPure_c20230601__20230630__srt--OwnershipAxis__custom--MendotaLLCMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_z5yataWJ8Nal" title="Subsidiary company ownership interest rate related party">20%</span> interest is held by unrelated parties.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company and its subsidiaries develop, manufacture and market specialty chemicals which slow the evaporation of water. One product, HEATSAVR&#174;,
is marketed for use in swimming pools and spas where its use, by slowing the evaporation of water, allows the water to retain a higher
temperature for a longer period of time and thereby reduces the energy required to maintain the desired temperature of the water in the
pool. Another product, WATERSAVR&#174;, is marketed for water conservation in irrigation canals, aquaculture, and reservoirs where its
use slows water loss due to evaporation. In addition to the water conservation products, the Company also manufactures and markets water-soluble
chemicals utilizing thermal polyaspartate biopolymers (hereinafter referred to as &#8220;TPAs&#8221;), which are beta-proteins manufactured
from the common biological amino acid, L-aspartic. TPAs can be formulated to prevent corrosion and scaling in water piping within the
petroleum, chemical, utility and mining industries. TPAs are also used as proteins to enhance fertilizers in improving crop yields and
can be used as additives for household laundry detergents, consumer care products and pesticides. The TPA division also manufactures
two nitrogen conservation products for agriculture that slows nitrogen loss from fields.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
outbreak of the novel strain of coronavirus, specifically identified as &#8220;COVID-19&#8221;, has resulted in a widespread health crisis
that has affected economies and financial markets around the world resulting in an economic downturn. This outbreak may also cause staff
shortages, reduced customer demand, increased government regulations or interventions, all of which may negatively impact the business,
financial condition or results of operations of the Company. The duration and impact of the COVID-19 outbreak is unknown at this time
and it is not possible to reliably estimate the length and severity of these developments.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><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_AccountingPoliciesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 235<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//235/tableOfContent<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 275<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//275/tableOfContent<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 205<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//205/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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>17
<FILENAME>R8.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/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.23.2</span><table class="report" border="0" cellspacing="2" id="idm139976176797120">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>SIGNIFICANT ACCOUNTING POLICIES<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="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" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SignificantAccountingPoliciesTextBlock', window );">SIGNIFICANT ACCOUNTING POLICIES</a></td>
<td class="text"><p id="xdx_804_eus-gaap--SignificantAccountingPoliciesTextBlock_zyL9SEagLv89" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b>2.
<span id="xdx_82D_zq9vLdRUBiS2">SIGNIFICANT ACCOUNTING POLICIES</span>.</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
consolidated financial statements of the Company have been prepared by management in accordance with accounting principles generally
accepted in the United States (&#8220;GAAP&#8221;) for interim financial information, applied on a basis consistent for all periods.
Accordingly, they do not include all of the information and disclosures required by U.S. GAAP for a complete set of financial statements.
These consolidated financial statements and notes thereto should be read in conjunction with the audited consolidated financial statements
and notes thereto included in the Company&#8217;s Annual Report on Form 10-K for the year ended December 31, 2022, filed with the Securities
and Exchange Commission on March 31, 2023. In the opinion of management, all adjustments of a normal recurring nature considered necessary
for a fair presentation have been included. The results of operations of any interim period are not necessarily indicative of the results
of operations to be expected for the full fiscal year.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; 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: 0pt 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p id="xdx_842_eus-gaap--CashAndCashEquivalentsPolicyTextBlock_zicM2NylsROb" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(a)
<i><span id="xdx_86D_zMrmZPxeghyd">Cash and Cash Equivalents</span></i>.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company considers all highly liquid investments purchased with an original or remaining maturity of less than three months at the date
of purchase to be cash equivalents. Cash and cash equivalents are maintained with several financial institutions.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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_84E_ecustom--TermDepositsPolicyTextBlock_zjbKP8uY4eng" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(b)
<i><span id="xdx_865_zmJ6QuodZ3S5">Term Deposits</span>.</i></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
deposits maintained by the Company with banks comprises term deposits. The Company has two term deposits, the first for $<span id="xdx_904_eus-gaap--Deposits_iI_c20230630_zkqkytE7m8Ce" title="Deposit">700,000</span> that
matures in 2023 and pays interest at a rate of <span id="xdx_90A_eus-gaap--PercentageOfInterestBearingDomesticDepositsToDepositsTimeDeposits_iI_pid_dp_uPure_c20230630_zFSqni8Ckcm" title="Term deposits percent">8.25</span>%. If withdrawn before maturity, the greater of the loss of accrued interest or $<span id="xdx_90D_eus-gaap--InterestPayableCurrentAndNoncurrent_iI_c20230630_z8sLaxM5cSig" title="Accured interest">150</span>,
plus 1% of the principal shall be levied. The second term deposit for $<span id="xdx_902_ecustom--OtherTermDeposit_iI_c20230630_zU62d90BQ9Fj" title="Other term deposit">300,000</span> pays 1.3% interest, matures in 2023 and can be withdrawn
by the Company at any point without prior notice or penalty on the principal.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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_84C_eus-gaap--InventoryPolicyTextBlock_zpblHmJSuGpk" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(c)
<i><span id="xdx_864_ztrwkG422oTe">Inventories and Cost of Sales.</span></i></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company has three major classes of inventory: completed goods, work in progress and raw materials and supplies. In all classes inventories
are stated at the lower of cost and net realizable value. Cost is determined on a first-in, first-out basis or weighted average cost
formula to inventories in different subsidiaries. Cost of sales includes all expenditures incurred in bringing the goods to the point
of sale. Inventory costs and costs of sales include direct costs of the raw material, inbound freight charges, warehousing costs, handling
costs (receiving and purchasing) and utilities and overhead expenses related to the Company&#8217;s manufacturing and processing facilities.
Shipping and handling charges billed to customers are included in revenue (2023 - $<span id="xdx_906_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20230630__srt--ProductOrServiceAxis__us-gaap--ShippingAndHandlingMember_zyTno39YuTAf" title="Sales">286,290</span>; 2022 - $<span id="xdx_90A_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20220630__srt--ProductOrServiceAxis__us-gaap--ShippingAndHandlingMember_zlEPAGPnoS4k" title="Sales">231,106</span>). Shipping and handling costs
incurred are included in cost of goods sold (2023 - $<span id="xdx_904_eus-gaap--CostOfGoodsAndServicesSold_pp0p0_c20230101__20230630__srt--ProductOrServiceAxis__us-gaap--ShippingAndHandlingMember_zKm6msWmGYra" title="Cost of sales">542,321</span>; 2022 - $<span id="xdx_904_eus-gaap--CostOfGoodsAndServicesSold_pp0p0_c20220101__20220630__srt--ProductOrServiceAxis__us-gaap--ShippingAndHandlingMember_zxZOOAkukJS9" title="Cost of sales">580,697</span>).</span></p>

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

<p id="xdx_84D_eus-gaap--PremiumsReceivableAllowanceForDoubtfulAccountsEstimationMethodologyPolicy_zdssy62Wwhe5" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(d)
<i><span id="xdx_869_zhai0jNlTp2g">Allowance for Doubtful Accounts.</span></i></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company provides an allowance for doubtful accounts when management estimates collectability to be uncertain. Accounts receivable are
continually reviewed to determine which, if any, accounts are doubtful of collection. In making the determination of the appropriate
allowance amount, the Company considers current economic and industry conditions, relationships with each significant customer, overall
customer credit-worthiness and historical experience.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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_843_eus-gaap--PropertyPlantAndEquipmentPolicyTextBlock_z5EGEbnXvXyl" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(e)
<i><span id="xdx_867_zof3ODUmIhkd">Property, Equipment, Leaseholds and Intangible Assets</span>.</i></span></p>

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

<p id="xdx_898_ecustom--ScheduleOfMethodOfDepreciationTableTextBlock_zIliTOh5Ygle" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
following assets are recorded at cost and depreciated using the methods and annual rates shown below:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;<span id="xdx_8B4_z11MQ97gvW02" style="display: none; font-family: Times New Roman, Times, Serif; font-size: 10pt">SCHEDULE
OF METHOD OF DEPRECIATION</span></span></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; width: 100%; border-collapse: collapse">
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="width: 10%">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 40%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Computer
    hardware</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: 48%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_907_ecustom--DepreciationMethodUsedAndAnnualRate_c20230101__20230630__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--ComputerEquipmentMember_zzenDHYhcKT9" title="Depreciation method used and annual rate">30%
    Declining balance</span></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td>&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Manufacturing
    equipment</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><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"><span id="xdx_909_ecustom--DepreciationMethodUsedAndAnnualRate_c20230101__20230630__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--MachineryAndEquipmentMember_zHhhXvUgBhEd" title="Depreciation method used and annual rate">20%
    Declining balance</span></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td>&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Office
    equipment</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><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"><span id="xdx_902_ecustom--DepreciationMethodUsedAndAnnualRate_c20230101__20230630__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--OfficeEquipmentMember_zTzepZMin8gj" title="Depreciation method used and annual rate">20%
    Declining balance</span></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td>&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Boat</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><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"><span id="xdx_908_ecustom--DepreciationMethodUsedAndAnnualRate_c20230101__20230630__us-gaap--PropertyPlantAndEquipmentByTypeAxis__custom--BoatMember_zbY0Kquh1Pue" title="Depreciation method used and annual rate">20%
    Declining balance</span></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td>&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Building
    and improvements</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><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"><span id="xdx_902_ecustom--DepreciationMethodUsedAndAnnualRate_c20230101__20230630__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--BuildingAndBuildingImprovementsMember_zKSxdAAV8Hdj" title="Depreciation method used and annual rate">10%
    Declining balance</span></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td>&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Trailer</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><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"><span id="xdx_902_ecustom--DepreciationMethodUsedAndAnnualRate_c20230101__20230630__us-gaap--PropertyPlantAndEquipmentByTypeAxis__custom--TrailerMember_zMtKVexsDpOc" title="Depreciation method used and annual rate">30%
    Declining balance</span></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td>&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Automobiles</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><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"><span id="xdx_90E_ecustom--DepreciationMethodUsedAndAnnualRate_c20230101__20230630__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--AutomobilesMember_ziFvXYKfETj1" title="Depreciation method used and annual rate">Straight-line
    over 5 years</span></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td>&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Patents</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><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"><span id="xdx_907_ecustom--DepreciationMethodUsedAndAnnualRate_c20230101__20230630__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--PatentsMember_z3p0DvDLQby6" title="Depreciation method used and annual rate">Straight-line
    over 17 years</span></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td>&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Technology</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><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"><span id="xdx_907_ecustom--DepreciationMethodUsedAndAnnualRate_c20230101__20230630__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--TechnologyEquipmentMember_zoVne9r8J25l" title="Depreciation method used and annual rate">Straight-line
    over 10 years</span></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td>&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Leasehold
    improvements</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><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"><span id="xdx_90B_ecustom--DepreciationMethodUsedAndAnnualRate_c20230101__20230630__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--LeaseholdImprovementsMember_z9pVdLIoLHca" title="Depreciation method used and annual rate">Straight-line
    over lease term</span></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td>&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Customer
    relationships </span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><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"><span id="xdx_90F_ecustom--DepreciationMethodUsedAndAnnualRate_c20230101__20230630__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--CustomerRelationshipsMember_z0BOVEoyXCHd" title="Depreciation method used and annual rate">Straight-line
    over 15 years</span></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td>&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Software
    </span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><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"><span id="xdx_90D_ecustom--DepreciationMethodUsedAndAnnualRate_c20230101__20230630__us-gaap--PropertyPlantAndEquipmentByTypeAxis__custom--SoftwareMember_zDcmxHehpbL9" title="Depreciation method used and annual rate">Straight-line
    over 3 years</span></span></td></tr>
  </table>
<p id="xdx_8A0_zSsBvSa3h8bh" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; 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; text-align: center; margin-top: 0pt; margin-bottom: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p id="xdx_843_eus-gaap--ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock_zPRp3higDPWf" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(f)
<i><span id="xdx_861_zj2qqQc3X2Jf">Impairment of Long-Lived Assets</span></i>.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; 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: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
accordance with FASB Codification Topic 360, <i>Property, Plant and Equipment</i> (ASC 360), the Company reviews long-lived assets, including,
but not limited to, property, equipment and leaseholds, patents and other assets, for impairment annually or whenever events or changes
in circumstances indicate the carrying amounts of assets may not be recoverable. The carrying value of long-lived assets is assessed
for impairment by evaluating operating performance and future undiscounted cash flows of the underlying assets. If the expected future
cash flows of an asset is less than its carrying value, an impairment measurement is indicated. Impairment charges are recorded to the
extent that an asset&#8217;s carrying value exceeds its fair value. Accordingly, actual results could vary significantly from such estimates.
There were no impairment charges during the periods presented.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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_847_eus-gaap--ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock_zBpveqFDNBP7" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(g)
<i><span id="xdx_860_zCUfYVAKciR8">Foreign Currency</span></i>.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
functional currency of the Company is the U.S. dollar. The functional currency of three of the Company&#8217;s subsidiaries is the Canadian
dollar. The translation of the Canadian dollar to the reporting currency of the Company, the U.S. dollar, is performed for assets and
liabilities using exchange rates in effect at the balance sheet date. Revenue and expense transactions are translated using average exchange
rates prevailing during the year. Translation adjustments arising on conversion of the Company&#8217;s financial statements from the
subsidiary&#8217;s functional currency, Canadian dollars, into the reporting currency, U.S. dollars, are excluded from the determination
of income (loss) and are disclosed as other comprehensive income in the consolidated statements of income and comprehensive income.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Foreign
exchange gains and losses relating to transactions not denominated in the applicable local currency are included in operating income
(loss) if realized during the year and in comprehensive income (loss) if they remain unrealized at the end of the year.</span></p>

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

<p id="xdx_840_eus-gaap--RevenueFromContractWithCustomerPolicyTextBlock_zFz0R1K6izM" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.5in; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(h)
<i><span id="xdx_862_z7NhCdkq84Hi">Revenue Recognition.</span></i></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 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 generates revenue primarily from energy and water conservation products and biodegradable polymers, as further discussed in Note
16.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company follows a five-step model for revenue recognition. The five steps are: (1) identification of the contract(s) with the customer,
(2) identification of the performance obligation(s) in the contract(s), (3) determination of the transaction price, (4) allocation of
the transaction price to the performance obligation, and (5) recognition of revenue when (or as) the performance obligation is satisfied.
The Company has fulfilled its performance obligations when control transfers to the customer, which is generally at the time the product
is shipped since risk of loss is transferred to the purchaser upon delivery to the carrier. For shipments which are free-on-board shipping
point, the Company has elected to account for shipping and handling activities as a fulfillment cost rather than as an additional promised
service and performance obligation.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Since
the Company&#8217;s inception, product returns have been insignificant; therefore, no provision has been established for estimated product
returns.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Deferred
revenues consist of products sold to distributors with payment terms greater than the Company&#8217;s customary business terms due to
lack of credit history or operating in a new market in which the Company has no prior experience. The Company defers the recognition
of revenue until the criteria for revenue recognition has been met and payments become due or cash is received from these distributors.</span></p>

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




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

<p id="xdx_848_ecustom--StockIssuedInExchangeForServicesPolicyTextBlock_zCmWsGLmNvY" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(i)
<i><span id="xdx_86D_zH563OXQ0iJ4">Stock Issued in Exchange for Services</span></i>.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company&#8217;s common stock issued in exchange for services is valued at estimated fair market value based upon trading prices of the
Company&#8217;s common stock on the dates of the stock transactions. The corresponding expense of the services rendered is recognized
over the period that the services are performed.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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_84F_eus-gaap--CompensationRelatedCostsPolicyTextBlock_z2ERp5T8hgjl" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(j)
<i><span id="xdx_86C_zn6bXkTxBiq5">Stock-based Compensation</span></i>.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 24.5pt; 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: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company recognizes compensation expense for all share-based payments in accordance with FASB Codification Topic 718, <i>Compensation
&#8212; Stock Compensation</i>, (ASC 718). Under the fair value recognition provisions of ASC 718, the Company recognizes share-based
compensation expense, net of an estimated forfeiture rate, over the requisite service period of the award.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 24.5pt; 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: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
fair value at grant date of stock options is estimated using the Black-Scholes option-pricing model. Compensation expense is recognized
on a straight-line basis over the stock option vesting period based on the estimated number of stock options that are expected to vest.
Shares are issued from treasury upon exercise of stock options.</span></p>

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

<p id="xdx_84C_eus-gaap--ComprehensiveIncomePolicyPolicyTextBlock_zDk1v9z4Uz5j" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(k)
<i><span id="xdx_860_z5EomrFKkaO9">Other Comprehensive Income.</span></i></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Other
comprehensive income refers to revenues, expenses, gains and losses that under generally accepted accounting principles are included
in comprehensive income, but are excluded from net income as these amounts are recorded directly as an adjustment to stockholders&#8217;
equity. The Company&#8217;s other comprehensive income is comprised only of unrealized foreign exchange gains and losses related to the
translation of subsidiaries&#8217; functional currency into the reporting currency.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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--EarningsPerSharePolicyTextBlock_zvNo8iUXaXki" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(l)
<i><span id="xdx_869_zim0lqZ5XIdl">Income Per Share</span>.</i></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Basic
earnings per share is computed by dividing income available to common stockholders by the weighted average number of common shares outstanding
in the period. Diluted earnings per share are calculated giving effect to the potential dilution of the exercise of options and warrants.
Common equivalent shares, composed of incremental common shares issuable upon the exercise of stock options and warrants are included
in diluted net income per share to the extent that these shares are dilutive. Common equivalent shares that have an anti-dilutive effect
on net income per share have been excluded from the calculation of diluted weighted average shares outstanding for the three and six
months ended June 30, 2023 and 2022.</span></p>

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

<p id="xdx_849_eus-gaap--UseOfEstimates_zcJACtrW8331" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.5in; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(m)
<i><span id="xdx_869_zT5ePs7SEDc3">Use of Estimates.</span></i></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
preparation of consolidated financial statements in conformity with accounting principles generally accepted in the United States requires
management to make estimates and assumptions that affect the reported amounts of assets and liabilities at the date of the consolidated
financial statements and the reported amounts of revenues and expenses during the reporting period. Actual results could differ from
those estimates and would impact the results of operations and cash flows.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 35.45pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Estimates
and underlying assumptions are reviewed at each period end. Revisions to accounting estimates are recognized in the period in which the
estimates are revised and in any future periods affected.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 35.45pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Significant
areas requiring the use of management estimates include assumptions and estimates relating to the valuation of goodwill and intangible
assets, share-based payments, valuation allowances for deferred income tax assets, determination of useful lives of property, equipment
and leaseholds and intangible assets, recoverability of accounts receivable, recoverability of investments and the valuation of inventory.</span></p>

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

<p id="xdx_845_eus-gaap--FairValueOfFinancialInstrumentsPolicy_zH5kLuMo83B" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(n)
<i><span id="xdx_863_zPsWmghCC2ja">Fair Value of Financial Instruments</span>.</i></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Fair
value is defined as the exchange price that would be received for an asset or paid to transfer a liability (an exit price) in the principal
or most advantageous market for the asset or liability in an orderly transaction between market participants on the measurement date.
Valuation techniques used to measure fair value must maximize the use of observable inputs and minimize the use of unobservable inputs.
The standard describes a fair value hierarchy based on three levels of inputs described below, of which the first two are considered
observable and the last unobservable, that may be used to measure fair value.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0pt; margin-bottom: 0pt"><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; 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">Level
    1 &#8211; Quoted prices in active markets for identical assets or liabilities.</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">Level
    2 &#8211; Inputs other than Level 1 that are observable, either directly or indirectly, such as quoted prices for similar assets
    or liabilities; quoted prices in markets that are not active; or other inputs that are observable or can be corroborated by observable
    market data for substantially the full term of the assets or liabilities.</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">Level
    3 &#8212; Unobservable inputs that are supported by little or no market activity which is significant to the fair value of the assets
    or liabilities.</span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
fair values of cash and cash equivalents, term deposits, accounts receivable, accounts payable, accrued liabilities and the short term
line of credit for all periods presented approximate their respective carrying amounts due to the short term nature of these financial
instruments.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 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 long term debt for all periods presented approximate their respective carrying amounts due to these financial instruments
being at market rates.</span></p>

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

<p id="xdx_84D_eus-gaap--CommitmentsAndContingenciesPolicyTextBlock_zLMTXLDNma3k" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(o)
<i><span id="xdx_868_zDelOyyEutx1">Contingencies</span>.</i></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Certain
conditions may exist as of the date the consolidated financial statements are issued which may result in a loss to the Company but which
will only be resolved when one or more future events occur or fail to occur. The Company&#8217;s management and its legal counsel assess
such contingent liabilities, and such assessment inherently involves an exercise of judgment. In assessing loss contingencies related
to legal proceedings that are pending against the Company or unasserted claims that may result in such proceedings, the Company&#8217;s
legal counsel evaluates the perceived merits of any legal proceedings or unasserted claims as well as the perceived merits of the amount
of relief sought or expected to be sought therein.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">If
the assessment of a contingency indicates that it is probable that a material loss has been incurred and the amount of the liability
can be estimated, the estimated liability would be accrued in the Company&#8217;s consolidated financial statements. If the assessment
indicates that a potential material loss contingency is not probable, but is reasonably possible, or is probable but cannot be estimated,
then the nature of the contingent liability, together with an estimate of the range of possible loss if determinable and material, would
be disclosed.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Loss
contingencies considered remote are generally not disclosed unless they involve guarantees, in which case the guarantees would be disclosed.
Legal fees associated with loss contingencies are expensed as incurred. The Company is not aware of any contingencies at the date of
these consolidated financial statements.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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 id="xdx_845_eus-gaap--IncomeTaxPolicyTextBlock_z61vZEOqc6jg" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(p)
<i><span id="xdx_869_zcjjbub01APc">Income Taxes</span>.</i></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Income
taxes are computed by multiplying the Company&#8217;s taxable net income by the Company&#8217;s effective tax rates. Deferred income
tax assets and liabilities are recognized for the future tax consequences attributable to differences between the consolidated financial
statement carrying amounts of existing assets and liabilities and their respective tax bases, and operating loss carry-forwards, if any.
Deferred income tax assets and liabilities are measured using enacted tax rates expected to apply to taxable income in the years in which
those temporary differences are expected to be recovered or settled. The effect on deferred income tax assets and liabilities of a change
in tax rates is recognized in income in the period that includes the enactment date. A valuation allowance is provided to reduce the
carrying amount of deferred income tax assets if it is considered more likely than not that some portion, or all, of the deferred income
tax assets will not be realized.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
accordance with FASB Codification Topic 740, <i>Income taxes</i> (ASC 740) under the liability method, it is the Company&#8217;s policy
to provide for uncertain tax positions and the related interest and penalties based upon management&#8217;s assessment of whether a tax
benefit is more likely than not to be sustained upon examination by tax authorities. At June 30, 2023, the Company believes it has appropriately
accounted for any unrecognized tax benefits. To the extent the Company prevails in matters for which a liability for an unrecognized
benefit is established or is required to pay amounts in excess of the liability, the Company&#8217;s effective tax rate in a given financial
statement period may be affected. Interest and penalties associated with the Company&#8217;s tax positions are recorded as interest expense
in the consolidated statements of income and comprehensive income.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p id="xdx_849_eus-gaap--ConcentrationRiskCreditRisk_zzImRoLmQdSh" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(q)
<i><span id="xdx_86C_zIRepckk0Vpl">Risk Management.</span></i></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company&#8217;s credit risk is primarily attributable to its accounts receivable. The amounts presented in the accompanying consolidated
balance sheets are net of allowances for doubtful accounts, estimated by the Company&#8217;s management based on prior experience and
the current economic environment. The Company is exposed to credit-related losses in the event of non-payment by customers. Credit exposure
is minimized by dealing with only credit worthy counterparties. Revenue for the Company&#8217;s three primary customers totaled $<span id="xdx_90D_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20230630__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember_zan1OLXvvS74" title="Sales">10,681,892</span>
(<span id="xdx_90A_ecustom--ConcentrationRiskThresholdPercentage_pid_dp_uPure_c20230101__20230630__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerMember_zQWA5VX7dR9h" title="Accounts receivable, after allowance for credit loss">53</span>%) for the six months ended June 30, 2023 (2022 - $<span id="xdx_90E_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20220630__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember_z5fdje7AYUl1" title="Sales">11,597,726</span> or <span id="xdx_900_ecustom--ConcentrationRiskThresholdPercentage_pid_dp_uPure_c20220101__20220630__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerMember_zQxu9q6B7RRc" title="Accounts receivable, after allowance for credit loss">53</span>%) and $<span id="xdx_90F_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230401__20230630__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember_zilfrplLbbUk" title="Sales">5,172,025&#160;</span>(<span id="xdx_90A_ecustom--ConcentrationRiskThresholdPercentage_pid_dp_uPure_c20230401__20230630__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerMember_z6KdwLyJIrLh" title="Accounts receivable, after allowance for credit loss">50</span>%) for the three months ended June 30, 2023
(2022 - $<span id="xdx_909_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220401__20220630__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember_zk6ZdnpA6rY7" title="Sales">5,889,266</span> or <span id="xdx_901_ecustom--ConcentrationRiskThresholdPercentage_pid_dp_uPure_c20220401__20220630__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerMember_zvbW80WC8G9f" title="Accounts receivable, after allowance for credit loss">53</span>%). Accounts receivable for the Company&#8217;s three primary customers for the six months ended June 30, 2023
totaled $<span id="xdx_90B_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20230630__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember_zt5dYTwCWpP8" title="Sale">3,277,945</span> or <span id="xdx_900_ecustom--ConcentrationRiskThresholdPercentage_pid_dp_uPure_c20230101__20230630__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember_zizkdawPqjmi" title="Accounts receivable, after allowance for credit loss, percentage">44</span>% (2022 - $<span id="xdx_902_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20220101__20220630__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember_zrCs1sJie0u5" title="Sale">2,409,089</span> or <span id="xdx_90A_ecustom--ConcentrationRiskThresholdPercentage_pid_dp_uPure_c20220101__20220630__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember_zP4QXcn2jBpk" title="Accounts receivable, after allowance for credit loss, percentage">36</span>%). Accounts receivable for the Company&#8217;s three primary customers for the three
months ended June 30, 2023 totaled $<span id="xdx_90A_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230401__20230630__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember_zvo88YT9n86c" title="Sale">4,172,657</span> or <span id="xdx_90E_ecustom--ConcentrationRiskThresholdPercentage_pid_dp_uPure_c20230401__20230630__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember_zbSli9gisF5f" title="Accounts receivable, after allowance for credit loss, percentage">56</span>% (2022 - $<span id="xdx_906_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220401__20220630__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember_z9N9wapayLA6" title="Sale">2,409,089</span> or <span id="xdx_90A_ecustom--ConcentrationRiskThresholdPercentage_pid_dp_uPure_c20220401__20220630__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember_z2GGyioJVXV3" title="Accounts receivable, after allowance for credit loss, percentage">36</span>%; December 31, 2022 - $<span id="xdx_902_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember_zldvJJL7azt3" title="Sale">6,124,424</span> or <span id="xdx_90B_ecustom--ConcentrationRiskThresholdPercentage_pid_dp_uPure_c20220101__20221231__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember_zmZvKWR1Uqh9" title="Accounts receivable, after allowance for credit loss, percentage">65</span>%).</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
credit risk on cash is limited because the Company limits its exposure to credit loss by placing its cash with major financial institutions.
The Company maintains cash balances at financial institutions which at times exceed federally insured amounts. The Company has not experienced
any losses in such accounts.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company is exposed to foreign exchange and interest rate risk to the extent that market value rate fluctuations materially differ from
financial assets and liabilities, subject to fixed long-term rates.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
order to manage its exposure to foreign exchange risks, the Company is closely monitoring the fluctuations in the foreign currency exchange
rates and the impact on the value of cash, accounts receivable, and accounts payable and accrued liabilities. The Company has not hedged
its exposure to currency fluctuations.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company is exposed to interest rate risk to the extent that the fair value or future cash flows for financial liabilities will fluctuate
as a result of changes in market interest rates. The Company is exposed to interest rate risk on its long-term debt.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
order to manage its exposure to interest rate risk, the Company is closely monitoring fluctuations in market interest risks and will
refinance its long-term debt where possible to obtain more favourable rates.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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--EquityMethodInvestmentsPolicy_zLUSETl658Ee" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(r)
<i><span id="xdx_861_zgKptDXSxFK">Equity Method Investment.</span></i></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company accounts for investments using the equity method of accounting if the investment provides the Company the ability to exercise
significant influence, but not control, over the investee. <span id="xdx_900_eus-gaap--EquityMethodInvestmentDescriptionOfPrincipalActivities_c20230101__20230630__srt--ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis__custom--InvestmentMember_zsVaZZxQbI3f" title="Equity method investment, description">Significant influence is generally deemed to exist if the Company&#8217;s
ownership interest in the voting stock of the investee ranges between 20% and 50%, although other factors, such as representation on
the investee&#8217;s board of directors, are considered in determining whether the equity method of accounting is appropriate</span>. Under
the equity method of accounting, the investment is initially recorded at cost in the consolidated balance sheets under other assets and
adjusted for dividends received and the Company&#8217;s share of the investee&#8217;s earnings or losses together with other-than-temporary
impairments which are recorded through other income (loss), net in the consolidated statements of income and comprehensive income.</span></p>

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

<p id="xdx_848_eus-gaap--GoodwillAndIntangibleAssetsPolicyTextBlock_zrNQ6pSPkCh8" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(s)
<i><span id="xdx_869_zKzXQcq1Vgzd">Goodwill and Intangible Assets</span>.</i></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Goodwill
represents the excess of the purchase price of an acquired entity over the amounts assigned to the assets acquired and liabilities assumed.
Goodwill is not amortized, but is reviewed for impairment annually or more frequently if certain impairment conditions arise. The Company
performs an annual goodwill impairment review in the fourth quarter of each year at the reporting unit level. The evaluation begins with
a qualitative assessment of the factors that could impact the significant inputs used to estimate fair value. If after performing the
qualitative assessment, it is determined that it is more likely than not that the fair value of a reporting unit is greater than its
carrying amount, including goodwill, then no further analysis is necessary. However, if the results of the qualitative test are unclear,
the Company performs a quantitative test, which involves comparing the fair value of a reporting unit with its carrying amount, including
goodwill. The Company uses an income-based valuation method, determining the present value of future cash flows, to estimate the fair
value of a reporting unit. If the fair value of a reporting unit exceeds its carrying amount, goodwill of the reporting unit is considered
not impaired, and no further analysis is necessary. If the fair value of the reporting unit is less than its carrying amount, goodwill
impairment would be recognized equal to the amount of the carrying value in excess of the reporting unit&#8217;s fair value, limited
to the total amount of goodwill allocated to the reporting unit.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Intangible
assets primarily include trademarks and trade secrets with indefinite lives and customer-relationships with finite lives. Intangible
assets with indefinite lives are not amortized but are tested for impairment on an annual basis, or more frequently if indicators of
impairment are present. Indefinite lived intangible assets are assessed using either a qualitative or a quantitative approach. The qualitative
assessment evaluates factors including macro-economic conditions, industry and company-specific factors, legal and regulatory environments,
and historical company performance in assessing fair value. If it is determined that it is more likely than not that the fair value of
the intangible asset is less than its carrying value, a quantitative test is then performed. Otherwise, no further testing is required.
When using a quantitative approach, the Company compares the fair value of the intangible asset to its carrying amount. If the estimated
fair value of the intangible asset is less than the carrying amount of the intangible asset, impairment is indicated, requiring recognition
of an impairment charge for the differential.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
accordance with FASB Codification Topic 350, <i>Intangibles &#8211; Goodwill and Other, </i>(ASC 350), qualitative assessments of goodwill
and indefinite-lived intangible assets were performed at December 31, 2022. Based on the results of the assessment, it was determined
that it is more likely than not the reporting unit, customer lists and trademarks had a fair value in excess of their carrying amounts.
Accordingly, no further impairment testing was completed and no impairment charges related to goodwill or indefinite-lived intangibles
were recognized during the three or six months ended June 30, 2023.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Finite-lived
intangible assets are amortized on a straight-line basis over their estimated useful lives. The Company reviews for impairment indicators
of finite-lived intangibles and other long-lived assets as described in the &#8220;Impairment of Long Lived Assets&#8221; significant
accounting policy.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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--NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock_zV4jkrQPosRb" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 24.5pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(t)
<i><span id="xdx_86F_zn002KrZiInj">Recent Accounting Pronouncements.</span></i></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company has implemented all applicable new accounting pronouncements that are in effect. Those pronouncements did not have any material
impact on the consolidated financial statements unless otherwise disclosed, and the Company does not believe that there are any other
new accounting pronouncements that have been issued that might have a material impact on its financial position or results of operations.</span></p>

<p id="xdx_85B_zN0xFaoYaEWf" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483426/235-10-50-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 235<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//235/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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>18
<FILENAME>R9.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/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.23.2</span><table class="report" border="0" cellspacing="2" id="idm139976175651760">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>LEASES.<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_FSI_DisclosureLeases.Abstract', window );"><strong>Leases.</strong></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="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeasesTextBlock', window );">LEASES.</a></td>
<td class="text"><p id="xdx_805_eus-gaap--LesseeOperatingLeasesTextBlock_zksPm2h80ts1" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b>3.
<span id="xdx_829_z6FKO2ZbbkY4">LEASES.</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Accounting
and reporting guidance for leases requires that leases be evaluated and classified as either operating or finance leases by the lessee
and as either operating, sales-type or direct financing leases by the lessor. For leases with terms greater than 12 months, the Company
records the related right-of-use (&#8220;ROU&#8221;) asset and lease obligation at the present value of lease payments over the term.
Leases may include fixed rental escalation clauses, renewal options and / or termination options that are factored into the determination
of lease payments when appropriate. The Company&#8217;s operating leases are included in ROU assets, lease liabilities-current portion
and lease liability-long term portion in the accompanying consolidated balance sheets. ROU assets represent the Company&#8217;s right
to use an underlying asset for the lease term, and lease liabilities represent the obligation to make lease payments arising from the
lease. The Company&#8217;s leases do not usually provide a readily determinable implicit rate; therefore, an estimate of the Company&#8217;s
incremental borrowing rate is used to discount the lease payments based on information available at the lease commencement date. The
discount rate used was <span id="xdx_901_eus-gaap--LesseeOperatingLeaseDiscountRate_iI_pid_uPure_c20230630_ze7cA5FiSSLd" title="Operating leases discount rate">5.5%</span>.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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_894_ecustom--SummaryOfRightofuseAssetAndLeaseLiabilityTableTextBlock_zrCunzqeqAy3" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
table below summarizes the right-of-use asset and lease liability for the six months ended June 30, 2023 and the year ended December
31, 2022:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;<span id="xdx_8B7_zEMBfJqux0gi" style="display: none; font-family: Times New Roman, Times, Serif; font-size: 10pt">SUMMARY
OF RIGHT-OF-USE ASSET AND LEASE LIABILITY</span></span></span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 85%; margin-right: auto">
  <tr style="vertical-align: bottom">
    <td style="font-weight: bold">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_49D_20230101__20230630_zsRvbB0W6Za1" style="border-bottom: Black 1.5pt solid; text-align: center">June 30, 2023</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_495_20220101__20221231_zLiFbE6gynvi" style="border-bottom: Black 1.5pt solid; text-align: center">December 31, 2022</td><td style="padding-bottom: 1.5pt">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-decoration: underline; font-weight: bold; text-align: left">Right of Use 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_40A_eus-gaap--OperatingLeaseRightOfUseAsset_iS_zDiSjpbJUOne" style="vertical-align: bottom; background-color: White">
    <td style="width: 57%">Balance, January 1</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 15%; text-align: right">167,222</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: 20%; text-align: right">217,267</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_403_eus-gaap--OperatingLeaseRightOfUseAsset_iS_zX4hjsG07sO8" style="display: none; vertical-align: bottom; background-color: rgb(204,238,255)">
    <td><span style="font-family: Times New Roman, Times, Serif">Right of use assets, beginning balance</span></td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">167,222</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">217,267</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--OperatingLeaseRightOfUseAssetAmortizationExpense_iN_di_zUnlOue48PGk" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt">Depreciation</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">(25,687</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">(50,045</td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr id="xdx_40F_eus-gaap--OperatingLeaseRightOfUseAsset_iE_z59Pr8TVVMId" style="vertical-align: bottom; background-color: White">
    <td>Balance, end of period</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">141,535</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">167,222</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_406_eus-gaap--OperatingLeaseRightOfUseAsset_iE_zHIAbHzChRB3" style="display: none; vertical-align: bottom; background-color: rgb(204,238,255)">
    <td><span style="font-family: Times New Roman, Times, Serif">Right of use assets, ending balance</span></td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">141,535</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">167,222</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: 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="text-decoration: underline; font-weight: bold; text-align: left">Lease Liability</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--OperatingLeaseLiability_iS_z2TOTnj362D5" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Balance, January 1</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">167,222</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">217,267</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_408_eus-gaap--OperatingLeaseLiability_iS_z9mYgHVqkCZ7" style="display: none; vertical-align: bottom; background-color: White">
    <td><span style="font-family: Times New Roman, Times, Serif">Lease liability, beginning balance</span></td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">167,222</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">217,267</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40E_ecustom--LeaseInterestExpense_z8GggI9d2w08" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Lease interest expense</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">3,353</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">8,566</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_407_eus-gaap--OperatingLeasePayments_iN_di_zcG22SP9Qrob" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt">Payments</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">(29,040</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">(58,611</td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr id="xdx_406_eus-gaap--OperatingLeaseLiability_iE_zcZ50rqp6mk8" style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 1.5pt">Balance, end of period</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">141,535</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">167,222</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_40B_eus-gaap--OperatingLeaseLiability_iE_zHzNPhlB8sch" style="display: none; vertical-align: bottom; background-color: rgb(204,238,255)">
    <td><span style="font-family: Times New Roman, Times, Serif">Lease liability, ending balance</span></td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">141,535</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">167,222</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: 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="text-align: left">Short-term portion</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_98E_eus-gaap--OperatingLeaseLiabilityCurrent_iI_pp0p0_c20230630_zfXprkcePFuc" style="text-align: right" title="Short-term portion">58,800</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_980_eus-gaap--OperatingLeaseLiabilityCurrent_iI_pp0p0_c20221231_zVnRbjgsn1Vc" style="text-align: right" title="Short-term portion">58,080</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">Long-term portion</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_98B_eus-gaap--OperatingLeaseLiabilityNoncurrent_iI_pp0p0_c20230630_zEdzque6mIIf" style="border-bottom: Black 1.5pt solid; text-align: right" title="Long-term portion">82,735</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_98C_eus-gaap--OperatingLeaseLiabilityNoncurrent_iI_pp0p0_c20221231_znVEAiBTrYv3" style="border-bottom: Black 1.5pt solid; text-align: right" title="Long-term portion">109,142</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--OperatingLeaseLiability_iI_pp0p0_c20230630_zXtdDFZUP3n6" style="border-bottom: Black 1.5pt solid; text-align: right" title="Total">141,535</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 id="xdx_984_eus-gaap--OperatingLeaseLiability_iI_pp0p0_c20221231_zROFpoHP9cti" style="border-bottom: Black 1.5pt solid; text-align: right" title="Total">167,222</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  </table>

<p id="xdx_8AF_zTKU4liftbJh" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; 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; text-align: center; margin-top: 0pt; margin-bottom: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p id="xdx_892_eus-gaap--LesseeOperatingLeaseLiabilityMaturityTableTextBlock_zfyySa8bvzMg" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Undiscounted
rent payments for the next three years are as follows:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;<span id="xdx_8B8_zAJI6lVjt6H4" style="display: none; font-family: Times New Roman, Times, Serif; font-size: 10pt">SCHEDULE
OF UNDISCOUNTED RENT PAYMENTS</span></span></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; margin-left: auto; border-collapse: collapse; width: 65%; margin-right: auto">
  <tr style="display: none; vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_494_20230630_ztWyWGT8MX18" style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_408_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear_iI_pp0p0_maLOLLPz6zC_zEfQMeBao8v7" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 80%; text-align: left">2023</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 16%; text-align: right">29,040</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_40E_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_iI_pp0p0_maLOLLPz6zC_zuShK5tUGMhf" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">2024</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">59,520</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_403_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_iI_pp0p0_maLOLLPz6zC_z2P2Akm8uXDb" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt; text-align: left">2025</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">61,020</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDue_iTI_mtLOLLPz6zC_zqZWqXc5rz37" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Total</span></td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">149,580</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40F_eus-gaap--LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_iNI_pp0p0_di_zRnlCacCwBc6" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Impact of discounting</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">(8,045</td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr id="xdx_40F_eus-gaap--OperatingLeaseLiability_iI_zLKMYkPg6d6b" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Lease liability, June 30,
    2023</span></td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">141,535</td><td style="text-align: left">&#160;</td></tr>
  </table>

<p id="xdx_8A5_zb0f423dPW84" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><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_FSI_DisclosureLeases.Abstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">FSI_DisclosureLeases.Abstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</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_LesseeOperatingLeasesTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for operating leases of lessee. Includes, but is not limited to, description of operating lease and maturity analysis of operating lease liability.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//842-20/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeasesTextBlock</td>
</tr>
<tr>
<td style="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>19
<FILENAME>R10.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/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.23.2</span><table class="report" border="0" cellspacing="2" id="idm139976263668768">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>ACCOUNTS RECEIVABLE.<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ReceivablesAbstract', window );"><strong>Receivables [Abstract]</strong></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="Show.showAR( this, 'defref_us-gaap_FinancingReceivablesTextBlock', window );">ACCOUNTS RECEIVABLE.</a></td>
<td class="text"><p id="xdx_807_eus-gaap--FinancingReceivablesTextBlock_zYoKpnsUfiD2" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b>4.
<span id="xdx_824_zaSSE0AuCDB9">ACCOUNTS RECEIVABLE.</span></b></span></p>

<p id="xdx_899_eus-gaap--AccountsReceivableAllowanceForCreditLossTableTextBlock_zUK6oFmW7Hua" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="display: none"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;<span id="xdx_8BE_zx9VJWV7Wjvl" style="display: none; font-family: Times New Roman, Times, Serif; font-size: 10pt">SCHEDULE
OF ACCOUNTS RECEIVABLE</span></span></span></span></b></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; margin-left: auto; border-collapse: collapse; width: 85%; margin-right: auto">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_49E_20230630_zYx7x9reqekg" style="border-bottom: Black 1.5pt solid; text-align: center">June 30, 2023</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_49D_20221231_zmNUbxZGDsOf" style="border-bottom: Black 1.5pt solid; text-align: center">December 31, 2022</td><td style="padding-bottom: 1.5pt">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <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 id="xdx_400_eus-gaap--AccountsReceivableGross_iI_pp0p0_maAANRNzPjC_z6QEUNp2zI7f" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 57%; text-align: left">Accounts receivable</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 15%; text-align: right">7,725,203</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: 20%; text-align: right">9,739,150</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_409_eus-gaap--AllowanceForDoubtfulAccountsPremiumsAndOtherReceivables_iNI_pp0p0_di_msAANRNzPjC_zn49DDCrahUa" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1.5pt">Allowances for doubtful accounts</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">(290,153</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">(289,293</td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr id="xdx_40E_eus-gaap--AccountsAndNotesReceivableNet_iTI_pp0p0_mtAANRNzPjC_zcz7q9TLC3Md" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt"><span style="display: none; font-family: Times New Roman, Times, Serif">Total accounts receivable</span></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">7,435,050</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">9,449,857</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  </table>

<p id="xdx_8A3_zStYd4epOYF9" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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_FinancingReceivablesTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for financing receivable.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 42<br> -Subparagraph (a)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481962/310-10-50-42<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 12A<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481933/310-10-55-12A<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 44<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481962/310-10-50-44<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//310-10/tableOfContent<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 310<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//310-20/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinancingReceivablesTextBlock</td>
</tr>
<tr>
<td style="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_ReceivablesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ReceivablesAbstract</td>
</tr>
<tr>
<td style="padding-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>20
<FILENAME>R11.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/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.23.2</span><table class="report" border="0" cellspacing="2" id="idm139976300030112">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>INVENTORIES.<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryDisclosureAbstract', window );"><strong>Inventory Disclosure [Abstract]</strong></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="Show.showAR( this, 'defref_us-gaap_InventoryDisclosureTextBlock', window );">INVENTORIES.</a></td>
<td class="text"><p id="xdx_80A_eus-gaap--InventoryDisclosureTextBlock_zFOfv7kHBaf9" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b>5.
<span><span id="xdx_82F_zkNj7cHZFSWg">INVENTORIES.</span></span></b></span></p>

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

<p id="xdx_89C_eus-gaap--ScheduleOfInventoryCurrentTableTextBlock_zlOGCFmO3u5k" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="display: none; font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;<span id="xdx_8BC_zAYZxrBrWRi6" style="display: none; font-family: Times New Roman, Times, Serif; font-size: 10pt">SCHEDULE
OF INVENTORY</span></span></span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 85%; margin-right: auto">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_495_20230630_znksefHhO6Eb" style="border-bottom: Black 1.5pt solid; text-align: center">June 30, 2023</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_49A_20221231_zRYUJoZISQie" style="border-bottom: Black 1.5pt solid; text-align: center">December 31, 2022</td><td style="padding-bottom: 1.5pt">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <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 id="xdx_404_eus-gaap--InventoryFinishedGoods_iI_pp0p0_maINzDiN_maINzkLt_zKB0N3PSF6qe" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 57%; text-align: left">Completed goods</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 15%; text-align: right">3,280,008</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: 20%; text-align: right">3,806,646</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_40B_eus-gaap--InventoryRawMaterialsAndSupplies_iI_pp0p0_maINzDiN_maINzkLt_zyDzsZVqrnjc" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1.5pt">Raw materials and supplies</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,036,221</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,612,784</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_403_eus-gaap--InventoryNet_iTI_pp0p0_mtINzkLt_z7v8eahZOXf" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt"><span style="font-family: Times New Roman, Times, Serif"><span style="display: none; font-family: Times New Roman, Times, Serif; font-size: 10pt">Total
    inventory</span></span></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">11,316,229</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">14,419,430</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  </table>

<p id="xdx_8A6_z1k8pRsBY6N2" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; 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; text-align: center; margin-top: 0pt; margin-bottom: 0pt"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><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_InventoryDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-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_InventoryDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for inventory. Includes, but is not limited to, the basis of stating inventory, the method of determining inventory cost, the classes of inventory, and the nature of the cost elements included in inventory.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 330<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//330/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryDisclosureTextBlock</td>
</tr>
<tr>
<td style="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>21
<FILENAME>R12.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/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.23.2</span><table class="report" border="0" cellspacing="2" id="idm139976175632592">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>PROPERTY, EQUIPMENT &amp; LEASEHOLDS.<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="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" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock', window );">PROPERTY, EQUIPMENT &amp; LEASEHOLDS.</a></td>
<td class="text"><p id="xdx_80D_eus-gaap--PropertyPlantAndEquipmentDisclosureTextBlock_z8pOM0JvAEL9" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b>6.
<span id="xdx_82F_zjzcsPjOkD4f">PROPERTY, EQUIPMENT &amp; LEASEHOLDS.</span></b></span></p>

<p id="xdx_891_eus-gaap--PropertyPlantAndEquipmentTextBlock_zFksPMa8BpCl" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="display: none"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;<span id="xdx_8B8_znWtdbaBqQge" style="display: none; font-family: Times New Roman, Times, Serif; font-size: 10pt">SCHEDULE
OF PROPERTY, EQUIPMENT AND LEASEHOLDS</span></span></span></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; margin-left: auto; border-collapse: collapse; width: 85%; margin-right: auto">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td>&#160;</td>
    <td colspan="2" id="xdx_488_eus-gaap--PropertyPlantAndEquipmentGross_iI_zJBZcRX7x0Ql" style="text-align: center">June 30, 2023</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" id="xdx_487_eus-gaap--AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_iI_zXO5bpOlCaS5" style="text-align: center">Accumulated</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" id="xdx_481_eus-gaap--PropertyPlantAndEquipmentNet_iI_zwLtC19eDe9a" style="text-align: center">June 30, 2023</td><td>&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">Cost</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">Depreciation</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">Net</td><td>&#160;</td></tr>
  <tr id="xdx_41F_20230630__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--BuildingAndBuildingImprovementsMember_zFPegrsX2cEk" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 37%; text-align: left">Buildings and improvements</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 18%; text-align: right">12,065,617</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: 15%; text-align: right">3,572,013</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: 18%; text-align: right">8,493,604</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_417_20230630__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--AutomobilesMember_zphScuvLwSgb" style="vertical-align: bottom; background-color: White">
    <td>Automobiles</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">196,255</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">124,924</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">71,331</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_417_20230630__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--ComputerEquipmentMember_zhP9K88Cpdt5" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Computer hardware</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">43,490</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">42,826</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">664</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_413_20230630__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--OfficeEquipmentMember_zW04lQwR0qYa" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Office equipment</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">134,233</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">117,826</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">16,407</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_41E_20230630__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--MachineryAndEquipmentMember_zLiQEtBLjQV4" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Manufacturing equipment</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">9,074,006</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">5,281,191</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">3,792,815</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_414_20230630__us-gaap--PropertyPlantAndEquipmentByTypeAxis__custom--TrailerMember_zd9XeeXF3HIe" style="vertical-align: bottom; background-color: White">
    <td>Trailer</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">9,061</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">7,961</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">1,100</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_41C_20230630__us-gaap--PropertyPlantAndEquipmentByTypeAxis__custom--BoatMember_zWNyaHPtbdaf" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Boat</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">34,400</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">29,006</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">5,394</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_417_20230630__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--LeaseholdImprovementsMember_zS3D62XI7jp3" 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: right">88,872</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">88,872</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="-sec-ix-hidden: xdx2ixbrl1081">&#8212;</span></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_412_20230630__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--DevelopedTechnologyRightsMember_zN70ijI21kyc" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Technology</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">103,182</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">103,182</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="-sec-ix-hidden: xdx2ixbrl1084">&#8212;</span></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_418_20230630__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--LandMember_zM63yvzzqw7a" style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 1.5pt">Land</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">440,592</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="-sec-ix-hidden: xdx2ixbrl1086">&#8212;</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">440,592</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: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td id="xdx_98B_eus-gaap--PropertyPlantAndEquipmentGross_iI_c20230630_z2hU7JOV00K1" style="border-bottom: Black 1.5pt solid; text-align: right" title="Cost">22,189,708</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 id="xdx_980_eus-gaap--AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_iI_c20230630_zWDXrt7hCzY7" style="border-bottom: Black 1.5pt solid; text-align: right" title="Accumulated Depreciation">9,367,801</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 id="xdx_981_eus-gaap--PropertyPlantAndEquipmentNet_iI_c20230630_zgEGBrhXGGCa" style="border-bottom: Black 1.5pt solid; text-align: right" title="Property, plant and equipment, net, total">12,821,907</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  </table>

<p style="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0pt; margin-bottom: 0pt"><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: 85%; margin-right: auto">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td>&#160;</td>
    <td colspan="2" id="xdx_48C_eus-gaap--PropertyPlantAndEquipmentGross_iI_zeH2ouiyg1bg" style="text-align: center">December 31, 2022</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" id="xdx_487_eus-gaap--AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_iI_z00syL3iLUf1" style="text-align: center">Accumulated</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" id="xdx_481_eus-gaap--PropertyPlantAndEquipmentNet_iI_zMT5Tuc4tHr4" style="text-align: center">December 31, 2022</td><td>&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">Cost</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">Depreciation</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">Net</td><td style="padding-bottom: 1.5pt">&#160;</td></tr>
  <tr id="xdx_41A_20221231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--BuildingAndBuildingImprovementsMember_zviCQ3c7A1x3" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 37%; text-align: left">Buildings and improvements</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 18%; text-align: right">8,775,629</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: 15%; text-align: right">3,310,920</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: 18%; text-align: right">5,464,709</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_414_20221231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--AutomobilesMember_zlfVfSN0rCs8" style="vertical-align: bottom; background-color: White">
    <td>Automobiles</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">196,255</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">107,055</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">89,200</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_419_20221231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--ComputerEquipmentMember_zJzhxWWRooX" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Computer hardware</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">43,432</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">42,663</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">769</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_41D_20221231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--OfficeEquipmentMember_zCGKY18dFjYj" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Office equipment</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">133,280</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">112,782</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">20,498</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_410_20221231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--MachineryAndEquipmentMember_zdpkZ4NR8Wei" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Manufacturing equipment</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">8,634,063</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">4,891,736</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">3,742,327</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_419_20221231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__custom--TrailerMember_zwHlpZCWrDgk" style="vertical-align: bottom; background-color: White">
    <td>Trailers</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">8,857</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">7,592</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">1,265</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_41F_20221231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__custom--BoatMember_zbK0Ed74fftb" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Boat</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">34,400</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">27,907</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">6,493</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_418_20221231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--LeaseholdImprovementsMember_z2sdEPkIkGT" 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: right">88,872</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">88,872</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="-sec-ix-hidden: xdx2ixbrl1117">&#8212;</span></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_412_20221231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--DevelopedTechnologyRightsMember_zHwboTZI88Al" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Technology</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">100,860</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">100,860</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="-sec-ix-hidden: xdx2ixbrl1120">&#8212;</span></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_415_20221231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--LandMember_znCkU7HIvzDa" style="vertical-align: bottom; background-color: White">
    <td>Land</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">384,027</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="-sec-ix-hidden: xdx2ixbrl1122">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">384,027</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">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td id="xdx_986_eus-gaap--PropertyPlantAndEquipmentGross_iI_c20221231_zfbomOSnbbxl" style="border-bottom: Black 1.5pt solid; text-align: right" title="Cost">18,399,675</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 id="xdx_98A_eus-gaap--AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_iI_c20221231_zV01X1Gkyhb1" style="border-bottom: Black 1.5pt solid; text-align: right" title="Accumulated Depreciation">8,690,387</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 id="xdx_984_eus-gaap--PropertyPlantAndEquipmentNet_iI_c20221231_zwNeLW32esPg" style="border-bottom: Black 1.5pt solid; text-align: right" title="Property, plant and equipment, net, total">9,709,288</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  </table>

<p id="xdx_8AE_zaCnMDMiH835" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Amount
of depreciation expense for the six months ended June 30, 2023 was $<span id="xdx_90B_eus-gaap--Depreciation_c20230101__20230630_zWFpKLZyOih3" title="Depreciation">671,574</span> (2022: $<span id="xdx_90D_eus-gaap--Depreciation_c20220101__20220630_zcN61L8orrjh" title="Depreciation">384,058</span>) and is included in cost of sales in the
unaudited condensed interim consolidated statements of operations and comprehensive income.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.5in; 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_PropertyPlantAndEquipmentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 360<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//360/tableOfContent<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -SubTopic 360<br> -Topic 958<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480321/958-360-50-6<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -SubTopic 360<br> -Topic 958<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480321/958-360-50-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -SubTopic 360<br> -Topic 958<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480321/958-360-50-7<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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>22
<FILENAME>R13.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/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.23.2</span><table class="report" border="0" cellspacing="2" id="idm139976175557472">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>PATENTS.<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="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" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IntangibleAssetsDisclosureTextBlock', window );">PATENTS.</a></td>
<td class="text"><p id="xdx_801_eus-gaap--IntangibleAssetsDisclosureTextBlock_zvcm3j3s4ho6" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b>7.
<span id="xdx_82A_zYFA18xdvfg1">PATENTS.</span></b></span></p>

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

<p id="xdx_898_eus-gaap--ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock_ziv17z4SFR3h" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="display: none; font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;<span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;<span style="display: none"><span id="xdx_8BE_zEPFlmYp8muc">SCHEDULE OF PATENTS</span></span></span></span></span></span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 85%; margin-right: auto">
  <tr style="vertical-align: bottom">
    <td style="text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">June 30, <span style="font-variant: small-caps">2023</span></span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Cost</span></p></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">Accumulated <br/> Amortization</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"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">June 30, <span style="font-variant: small-caps">2023</span></span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Net</span></p></td><td style="padding-bottom: 1.5pt">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt; width: 37%; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Patents</span></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_98B_eus-gaap--FiniteLivedPatentsGross_iI_pp0p0_c20230630_zMnK7JoUoW28" style="border-bottom: Black 1.5pt solid; width: 18%; text-align: right" title="Patents, cost">200,232</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_987_eus-gaap--FiniteLivedIntangibleAssetsAccumulatedAmortization_iI_pp0p0_c20230630_zuAzr7c0NP23" style="border-bottom: Black 1.5pt solid; width: 15%; text-align: right" title="Accumulated amortization">200,232</td><td style="width: 1%; padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="width: 2%; font-variant: small-caps; padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; width: 1%; font-variant: small-caps; text-align: left">$</td><td id="xdx_980_eus-gaap--FiniteLivedIntangibleAssetsNet_iI_pp0p0_c20230630_z14TNRddv7s8" style="border-bottom: Black 1.5pt solid; width: 18%; font-variant: small-caps; text-align: right" title="Patents, net"><span style="font: small-caps 10pt Times New Roman, Times, Serif">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<span style="-sec-ix-hidden: xdx2ixbrl1143">-</span></span></td><td style="width: 1%; padding-bottom: 1.5pt; font-variant: small-caps; text-align: left">&#160;</td></tr>
  </table>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><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: 85%; margin-right: auto">
  <tr style="vertical-align: bottom">
    <td style="text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">December
<span style="font-variant: normal">31,2022 <br/>
Cost</span></span></p></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">Accumulated <br/> Amortization</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"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">December
<span style="font-variant: normal">31,2022 <br/>
Net</span></span></p></td><td style="padding-bottom: 1.5pt">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt; width: 37%; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Patents</span></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_984_eus-gaap--FiniteLivedPatentsGross_iI_pp0p0_c20221231_z12Qdsx7e5o6" style="border-bottom: Black 1.5pt solid; width: 18%; text-align: right" title="Patents, cost">195,725</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--FiniteLivedIntangibleAssetsAccumulatedAmortization_iI_pp0p0_c20221231_zJYkgutBJDme" style="border-bottom: Black 1.5pt solid; width: 15%; text-align: right" title="Accumulated amortization">195,725</td><td style="width: 1%; padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="width: 2%; font-variant: small-caps; padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; width: 1%; font-variant: small-caps; text-align: left">$</td><td id="xdx_982_eus-gaap--FiniteLivedIntangibleAssetsNet_iI_pp0p0_c20221231_zNZS1jteEVP" style="border-bottom: Black 1.5pt solid; width: 18%; font-variant: small-caps; text-align: right" title="Patents, net"><span style="font: small-caps 10pt Times New Roman, Times, Serif">&#8239;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<span style="-sec-ix-hidden: xdx2ixbrl1149">-</span></span></td><td style="width: 1%; padding-bottom: 1.5pt; font-variant: small-caps; text-align: left">&#160;</td></tr>
  </table>

<p id="xdx_8A8_zqHyFv9HJEv6" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Amount
of amortization for the period ended June 30, 2023 was $<span id="xdx_90C_eus-gaap--AmortizationOfIntangibleAssets_dxL_c20230101__20230630__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__us-gaap--PatentsMember_zWPQALYK1EM" title="Amortization of intangible assets::XDX::-"><span style="-sec-ix-hidden: xdx2ixbrl1151">nil</span></span>
(2022 - $<span id="xdx_908_eus-gaap--AmortizationOfIntangibleAssets_pp0p0_c20220101__20220630__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__us-gaap--PatentsMember_zTonivsqd9r4" title="Amortization of intangible assets">4,110</span>)
and was included in cost of sales in the unaudited condensed interim consolidated statements of income and comprehensive
income.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 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_GoodwillAndIntangibleAssetsDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_IntangibleAssetsDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for all or part of the information related to intangible assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//350-30/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IntangibleAssetsDisclosureTextBlock</td>
</tr>
<tr>
<td style="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>23
<FILENAME>R14.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/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.23.2</span><table class="report" border="0" cellspacing="2" id="idm139976175691984">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>GOODWILL AND INDEFINITE LIVED INTANGIBLE ASSETS.<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="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" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock', window );">GOODWILL AND INDEFINITE LIVED INTANGIBLE ASSETS.</a></td>
<td class="text"><p id="xdx_807_eus-gaap--GoodwillAndIntangibleAssetsDisclosureTextBlock_z5Iw1FTNPZDc" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>8.
<span style="font-variant: small-caps"><span id="xdx_82E_zz5t2JWItHO9">GOODWILL AND INDEFINITE LIVED INTANGIBLE ASSETS.</span></span></b></span></p>

<p id="xdx_898_eus-gaap--ScheduleOfIntangibleAssetsAndGoodwillTableTextBlock_zgQ7DxRuHYd5" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;<span id="xdx_8B6_zUX07eGApUq" style="display: none">SCHEDULE
OF GOODWILL AND INDEFINITE LIVED INTANGIBLE ASSETS</span></span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 85%; margin-right: auto">
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Goodwill</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="width: 80%; padding-bottom: 1.5pt">Balance as of December 31, 2021, 2022 and June 30, 2023</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 style="border-bottom: Black 1.5pt solid; width: 16%; text-align: right"><span id="xdx_904_eus-gaap--Goodwill_iI_c20211231_zTTPqRngseY" title="Goodwill"><span id="xdx_908_eus-gaap--Goodwill_iI_c20221231_zO3A21UBOrEe" title="Goodwill"><span id="xdx_90F_eus-gaap--Goodwill_iI_c20230630_zpJ7JvyXWIL6" title="Goodwill">2,534,275</span></span></span></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>&#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="text-align: left; padding-bottom: 1.5pt">Indefinite Lived Intangible 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">&#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: 1.5pt">Balance as of December 31, 2021, 2022 and June 30, 2023</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"><span id="xdx_908_eus-gaap--IndefiniteLivedIntangibleAssetsExcludingGoodwill_iI_c20211231_zyskesyarFZf" title="Indefinite lived intangible assets, ending balance"><span id="xdx_907_eus-gaap--IndefiniteLivedIntangibleAssetsExcludingGoodwill_iI_c20221231_zDAIc92HC4U3" title="Indefinite lived intangible assets, ending balance"><span id="xdx_902_eus-gaap--IndefiniteLivedIntangibleAssetsExcludingGoodwill_iI_c20230630_zRwQn5eATBoi" title="Indefinite lived intangible assets, ending balance">770,000</span></span></span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  </table>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Goodwill
relates to the acquisition of ENP Investments. Indefinite lived intangible assets consist of trade secrets and trademarks related to
the acquisition of ENP Investments.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><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: 75%; margin-right: auto">
  <tr style="vertical-align: bottom">
    <td>Definite Life Intangible Assets</td><td>&#160;</td>
    <td colspan="2" style="text-align: right">&#160;</td><td>&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 80%">Balance as of December 31, 2021</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_986_eus-gaap--IndefiniteLivedIntangibleAssetsExcludingGoodwill_iS_pp0p0_c20220101__20221231__dei--LegalEntityAxis__custom--EnPInvestmentsCorporationLLCMember_zDRhiCzosdt2" style="width: 16%; text-align: right" title="Indefinite lived intangible assets, beginning balance">1,830,000</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">Amortization</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--AmortizationOfIntangibleAssets_pp0p0_c20220101__20221231__dei--LegalEntityAxis__custom--EnPInvestmentsCorporationLLCMember_z0isNCm6TD8i" style="border-bottom: Black 1.5pt solid; text-align: right" title="Amortization">(160,000</td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Balance as of December 31, 2022</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_982_eus-gaap--IndefiniteLivedIntangibleAssetsExcludingGoodwill_iS_pp0p0_c20230101__20230630__dei--LegalEntityAxis__custom--EnPInvestmentsCorporationLLCMember_znpqxhrHPBYa" style="text-align: right" title="Indefinite lived intangible assets, beginning balance">1,670,000</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 1.5pt">Amortization</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--AmortizationOfIntangibleAssets_pp0p0_c20230101__20230630__dei--LegalEntityAxis__custom--EnPInvestmentsCorporationLLCMember_zNz984yVhvz" style="border-bottom: Black 1.5pt solid; text-align: right" title="Amortization">(80,000</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: 1.5pt">Balance as of June 30, 2023</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--IndefiniteLivedIntangibleAssetsExcludingGoodwill_iE_pp0p0_c20230101__20230630__dei--LegalEntityAxis__custom--EnPInvestmentsCorporationLLCMember_zPdjsCpe1aac" style="border-bottom: Black 1.5pt solid; text-align: right" title="Indefinite lived intangible assets, ending balance">1,590,000</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  </table>

<p id="xdx_8A8_z6JTSFeYGalk" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Definite
life intangible assets consist of customer relationships and software related to the acquisition of ENP Investments.</span></p>

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

<p id="xdx_891_eus-gaap--ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock_z4BHVt8YJuH6" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Estimated
amortization expense over the next five years is as follows:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;<span id="xdx_8B7_z3frfV5IoNG3" style="display: none">SCHEDULE
OF ESTIMATED FUTURE AMORTIZATION EXPENSE</span></span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 70%; margin-right: auto">
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 80%; text-align: left">2023</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_985_eus-gaap--FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear_iI_c20230630__us-gaap--FairValueByAssetClassAxis__us-gaap--FiniteLivedIntangibleAssetsMember_ztiMLbRrKSud" style="width: 16%; text-align: right" title="2023">160,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">2024</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_980_eus-gaap--FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_iI_c20230630__us-gaap--FairValueByAssetClassAxis__us-gaap--FiniteLivedIntangibleAssetsMember_zsSEERyDdIN" style="text-align: right" title="2024">160,000</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">2025</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98A_eus-gaap--FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_iI_pp0p0_c20230630__us-gaap--FairValueByAssetClassAxis__us-gaap--FiniteLivedIntangibleAssetsMember_zHk2rYjwQiHf" style="text-align: right" title="2025">160,000</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">2026</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98A_eus-gaap--FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_iI_pp0p0_c20230630__us-gaap--FairValueByAssetClassAxis__us-gaap--FiniteLivedIntangibleAssetsMember_zxvd9dTrqbyk" style="text-align: right" title="2026">160,000</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">2027</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98D_eus-gaap--FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_iI_pp0p0_c20230630__us-gaap--FairValueByAssetClassAxis__us-gaap--FiniteLivedIntangibleAssetsMember_zeqDAMTEdI7b" style="text-align: right" title="2027">160,000</td><td style="text-align: left">&#160;</td></tr>
  </table>

<p id="xdx_8A2_zQMd2TahMU9e" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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_GoodwillAndIntangibleAssetsDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for goodwill and intangible assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 350<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//350/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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>24
<FILENAME>R15.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/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.23.2</span><table class="report" border="0" cellspacing="2" id="idm139976175665712">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>LONG TERM DEPOSITS.<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_FSI_DisclosureLongTermDeposits.Abstract', window );"><strong>Long Term Deposits.</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="Show.showAR( this, 'defref_FSI_LongTermDepositsTextBlock', window );">LONG TERM DEPOSITS.</a></td>
<td class="text"><p id="xdx_80F_ecustom--LongTermDepositsTextBlock_zNYlCVZ64Jv8" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b>9.
<span id="xdx_82E_zBtNJT5zdjd">LONG TERM DEPOSITS.</span></b></span></p>

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

<p id="xdx_895_ecustom--ScheduleOfLongTermDepositsTableTextBlock_zfBP8ViVkmJi" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company has reclassified certain security deposits to better reflect their long term nature. Long term deposits consist of damage deposits
held by landlords and security deposits held by various vendors.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;<span id="xdx_8B9_zwaZSmTUpsL8" style="display: none; font-family: Times New Roman, Times, Serif; font-size: 10pt">SCHEDULE
OF LONG TERM DEPOSITS</span></span></span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 85%; margin-right: auto">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_49B_20230630_zvPngWzGVTuc" style="border-bottom: Black 1.5pt solid; text-align: center">June 30, 2023</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_490_20221231_zcIuPhioeLN5" style="border-bottom: Black 1.5pt solid; text-align: center">December 31, 2022</td><td style="padding-bottom: 1.5pt">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="padding-bottom: 1.5pt; text-align: center">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="padding-bottom: 1.5pt; text-align: center">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td></tr>
  <tr id="xdx_409_eus-gaap--DepositsAssetsNoncurrent_iI_pp0p0" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 57%; text-align: left; padding-bottom: 1.5pt">Long term deposits</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 style="border-bottom: Black 1.5pt solid; width: 15%; text-align: right">370,156</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 style="border-bottom: Black 1.5pt solid; width: 20%; text-align: right">8,540</td><td style="width: 1%; padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  </table>

<p id="xdx_8AE_zYetJdpg7aw5" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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_FSI_DisclosureLongTermDeposits.Abstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">FSI_DisclosureLongTermDeposits.Abstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</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_FSI_LongTermDepositsTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Long term deposits [Text Block]</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">FSI_LongTermDepositsTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</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>25
<FILENAME>R16.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/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.23.2</span><table class="report" border="0" cellspacing="2" id="idm139976175642000">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>INVESTMENTS.<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EquityMethodInvestmentsAndJointVenturesAbstract', window );"><strong>Equity Method Investments and Joint Ventures [Abstract]</strong></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="Show.showAR( this, 'defref_us-gaap_EquityMethodInvestmentsDisclosureTextBlock', window );">INVESTMENTS.</a></td>
<td class="text"><p id="xdx_807_eus-gaap--EquityMethodInvestmentsDisclosureTextBlock_zODEIVIvF1g2" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b>10.
<span id="xdx_82F_zCYGYPZF5PI5">INVESTMENTS.</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b>(</b></span><b><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">a<span style="font-variant: small-caps">) </span></span></b><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company previously held a <span id="xdx_903_eus-gaap--EquityMethodInvestmentOwnershipPercentage_iI_pid_dp_uPure_c20161231__srt--ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis__custom--EnpPeruInvestmentsLlcMember_z522ZtCyPI18" title="Ownership interest">50</span>%
ownership interest in ENP Peru, split between NanoChem (<span id="xdx_909_eus-gaap--EquityMethodInvestmentOwnershipPercentage_iI_pid_dp_uPure_c20161231__srt--ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis__custom--NanoChemMember_zUFE9PGQw9Z7" title="Ownership percentage">41.67</span>%)
and ENP Investments (<span id="xdx_904_eus-gaap--EquityMethodInvestmentOwnershipPercentage_iI_pid_dp_uPure_c20161231__srt--ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis__custom--ENPInvestmentsLLCMember_zWs9Glgl0B8i" title="Equity method investment ownership percentage">8.33</span>%),
which was acquired in fiscal 2016. ENP Peru is located in Illinois and leases warehouse space. In June 2022, NanoChem acquired an
additional <span id="xdx_903_ecustom--AdditionalEquityMethodInvestmentOwnershipPercentage_iI_pid_dp_uPure_c20220630__srt--ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis__custom--NanoChemMember_z10r9QEPrWw1" title="Additional ownership interest">50</span>%
ownership interest at a cost of $<span id="xdx_906_ecustom--RemainningShareOutstanding_c20220601__20220630__srt--OwnershipAxis__custom--ENPPeruMember_z3aHRB0GszZ" title="Remainning share outstanding">506,659</span>
paid through a new $<span id="xdx_906_eus-gaap--Cash_iI_c20220630__srt--OwnershipAxis__custom--ENPPeruMember_zd0NaZsxrTcl" title="Cash">259,000</span>
mortgage and cash on hand. The <span id="xdx_900_eus-gaap--MinorityInterestOwnershipPercentageByParent_iI_pid_dp_uPure_c20230630__srt--OwnershipAxis__custom--EnpnvestmentsLlcMember_zLdYPY1NqMZ4" title="Minority Interest Ownership Percentage">35</span>%
non-controlling interest of the <span id="xdx_903_eus-gaap--EquityMethodInvestmentOwnershipPercentage_iI_pid_dp_uPure_c20230630__srt--ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis__custom--ENPInvestmentsLLCMember_z4ihO07wTuZb" title="Equity method investment ownership percentage">8.33</span>%
owned by ENP Investments is included in non-controlling interest in these consolidated financial statements. The Company&#8217;s
investment in ENP Peru was previously accounted for using the equity method, however, it is now consolidated into the consolidated
financial statements from the date control was obtained. In June 2023, NanoChem purchased the remaining <span id="xdx_904_eus-gaap--EquityMethodInvestmentOwnershipPercentage_iI_pid_dp_uPure_c20230630__srt--ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis__custom--ENPInvestmentsLLCMember_zorAoWOoiKP5" title="Equity method investment ownership percentage">8.33</span>% of ENP Peru from ENP Investments to become full owner.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">It
was determined that ENP Peru did not meet the definition of a business in accordance with FASB Codification Topic 805, <i>Business Combinations
</i>(ASC 805)<i>, </i>and the acquisition was accounted for as an asset acquisition. The following table summarizes the final purchase
price allocation of the consideration paid to the respective fair values of the assets acquired and liabilities assumed in ENP Peru as
of the acquisition date. The gain on acquisition of ENP Peru represents a gain on remeasurement of the Company&#8217;s equity method
investment immediately prior to the acquisition date.</span></p>

<p id="xdx_897_eus-gaap--ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock_hdei--LegalEntityAxis__custom--EnpPeruInvestmentsLlcMember_zGpux7scJJo8" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;<span style="display: none"><span id="xdx_8BA_zQhpQ5kCCx5">SCHEDULE
OF  FAIR VALUES OF THE ASSETS ACQUIRED AND LIABILITIES ASSUMED</span></span></span></span></span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 80%; margin-right: auto">
  <tr style="display: none; vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; 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_492_20220101__20221231_zoN9lEH5BmT9" 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_40D_eus-gaap--BusinessCombinationConsiderationTransferred1_zBPfCXI0EeU1" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 80%; text-align: left; padding-bottom: 1.5pt">Purchase consideration</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 style="border-bottom: Black 1.5pt solid; width: 16%; text-align: right">506,659</td><td style="width: 1%; 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">Assets acquired:</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_40A_eus-gaap--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents_iE_zaZYAudnUAU" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt">Cash</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">7,330</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_403_eus-gaap--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedBuildings_iE_z2pW9t3KxLD2" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt">Building</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">3,750,000</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_eus-gaap--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLand_iE_z1LTSlEcHrJg" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt">Land</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">150,000</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">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 id="xdx_404_eus-gaap--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities_iNE_di_zyvxsNazua3c" 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">(174,582</td><td style="text-align: left">)</td></tr>
  <tr id="xdx_404_ecustom--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLongTermDebt_iE_zgEEtzu7ez2" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left; padding-bottom: 1.5pt">Long term debt</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">(2,849,500</td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr id="xdx_404_eus-gaap--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets_iE_z1Z3GqEDcyu8" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1.5pt">Total identifiable net 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">883,248</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_405_ecustom--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLessPurchasePrice_iE_z4NqH8NQChQ2" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Excess of assets acquired over consideration</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">376,589</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40F_ecustom--InvestmentEliminatedUponConsolidation_zwaA9rHXPBV8" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1.5pt">Less investment eliminated upon consolidation</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,538</td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr id="xdx_40D_ecustom--GainOnAcquisitionOfSubsidiary_ztnKY6jzALW9" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1.5pt">Gain on acquisition of ENP Peru</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">335,051</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  </table>

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

<p id="xdx_89B_eus-gaap--EquityMethodInvestmentsTextBlock_hdei--LegalEntityAxis__custom--EnpPeruInvestmentsLlcMember_zN84hMiJRnJj" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.7in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">A
summary of the Company&#8217;s investment follows:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;<span style="display: none"><span id="xdx_8BE_zVbwgKDlORsg">SCHEDULE OF EQUITY METHOD INVESTMENT</span></span></span></span></span></span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 80%; margin-right: auto">
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 80%">Balance, December 31, 2021</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td id="xdx_982_eus-gaap--EquityMethodInvestments_iS_c20220101__20221231__dei--LegalEntityAxis__custom--EnpPeruInvestmentsLlcMember_zjzxFfIMZPCa" style="width: 16%; text-align: right" title="Balance, Beginning">22,642</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>Return of equity</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_981_ecustom--EquityMethodInvestmentReturnOfEquity_c20220101__20221231__dei--LegalEntityAxis__custom--EnpPeruInvestmentsLlcMember_zHMkZGa0SSQc" style="text-align: right" title="Return of equity">(8,750</td><td style="text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Gain in equity method investment</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_981_eus-gaap--EquityMethodInvestmentRealizedGainLossOnDisposal_c20220101__20221231__dei--LegalEntityAxis__custom--EnpPeruInvestmentsLlcMember_zVUMbyZaJ8Cd" style="text-align: right" title="Gain in equity method investment">27,646</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">Investment eliminated upon consolidation</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--InvestmentEliminatedUponConsolidation_c20220101__20221231__dei--LegalEntityAxis__custom--EnpPeruInvestmentsLlcMember_zG5idIFlrCJ3" style="border-bottom: Black 1.5pt solid; text-align: right" title="Investment eliminated upon consolidation">(41,538</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, December 31, 2022 and June 30, 2023</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--EquityMethodInvestments_iE_c20220101__20221231__dei--LegalEntityAxis__custom--EnpPeruInvestmentsLlcMember_z6tJmDFQQVSc" style="border-bottom: Black 2.5pt double; text-align: right" title="Balance, Ending"><span style="-sec-ix-hidden: xdx2ixbrl1252">-</span></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

<p id="xdx_8AF_zs5QtNXHZbnf" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b>(</b></span><b><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">b<span style="font-variant: small-caps">)
</span></span></b><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In December 2018 the Company invested $<span id="xdx_90F_eus-gaap--Investments_iI_c20181201__dei--LegalEntityAxis__custom--AppliedHoldingCorpMember_z3pxXhjIBVYi" title="Investment">200,000</span>
in Applied Holding Corp. (&#8220;Applied&#8221;). Applied is a captive insurance company and the Company received a non-convertible promissory
note for its investment which becomes due in 2021 but may be extended with notice for a maximum of two years. During the year ended December
31, 2021, the Company entered an agreement with Applied to extend the maturity date of this promissory note to <span id="xdx_901_eus-gaap--DebtInstrumentMaturityDate_dd_c20210101__20211231_zzhITj6YbW19" title="Debt maturity date">December 6, 2023</span>. In accordance
with FASB Codification Topic 323, <i>Investments &#8211; Equity Method and Joint Ventures</i> (ASC 323), the Company has elected to account
for this investment at cost.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b>(</b></span><b><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">c<span style="font-variant: small-caps">)
</span></span></b><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In December 2018 the Company invested $<span id="xdx_90A_eus-gaap--Investments_iI_c20181201__dei--LegalEntityAxis__custom--TrioOpportunityCorpMember_zTqLNi5a1LT2" title="Investment">500,000
</span>in Trio Opportunity Corp. (&#8220;Trio&#8221;), a privately held entity and a further $<span id="xdx_908_eus-gaap--Investments_iI_c20230430__dei--LegalEntityAxis__custom--TrioOpportunityCorpMember_z3z1tF3v4Wo6" title="Investment">470,000</span> was invested in April 2023. Trio is a
real estate investment vehicle and the Company received <span id="xdx_90B_eus-gaap--StockIssuedDuringPeriodSharesNewIssues_pid_c20181201__20181231__us-gaap--StatementClassOfStockAxis__us-gaap--CommonClassBMember__dei--LegalEntityAxis__custom--TrioOpportunityCorpMember_zeSQ5DjVSxta" title="Common stock issued, shares">97,000</span> non-voting Class B shares at $<span id="xdx_903_eus-gaap--SharePrice_iI_pid_c20181231__us-gaap--StatementClassOfStockAxis__us-gaap--CommonClassBMember__dei--LegalEntityAxis__custom--TrioOpportunityCorpMember_zAonPGn3xza1" title="Share price">10.00</span>/share. In accordance with FASB Codification
Topic 321, <i>Investments &#8211; Equity Securities (</i>ASC 321), the Company has elected to account for this investment at cost.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 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: 0pt 0; text-align: justify"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b>(</b></span><b><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">d<span style="font-variant: small-caps">)
</span></span></b><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In January 2019, the Company invested in
a Florida based LLC that is engaged in international sales of fertilizer additives. The Company accounts for this investment using the
equity method of accounting. According to the operating agreement, the Company has a <span id="xdx_906_eus-gaap--EquityMethodInvestmentOwnershipPercentage_iI_pid_dp_uPure_c20190131__srt--ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis__custom--FloridaBasedLLCMember_zpkIkdpMIkhi" title="Ownership percentage">50</span>% interest in the profit and loss of the Florida
based LLC but does not have control. A summary of the Company&#8217;s investment follows:</span></p>

<p id="xdx_890_eus-gaap--EquityMethodInvestmentsTextBlock_hdei--LegalEntityAxis__custom--FloridaBasedLLCMember_zBjsrUFwDXwb" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8B4_zInUQE4iLXN7" style="display: none">SCHEDULE
OF EQUITY METHOD INVESTMENT</span></span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 80%; margin-right: auto">
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 80%">Balance, December 31, 2021</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td id="xdx_983_eus-gaap--EquityMethodInvestments_iS_pp0p0_c20220101__20221231__dei--LegalEntityAxis__custom--FloridaBasedLLCMember_zUWqkZfY7bw7" style="width: 16%; text-align: right" title="Balance, Beginning">3,701,368</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Gain in equity method investment</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98D_eus-gaap--EquityMethodInvestmentRealizedGainLossOnDisposal_pp0p0_c20220101__20221231__dei--LegalEntityAxis__custom--FloridaBasedLLCMember_z37oPXNenad9" style="text-align: right" title="Gain in equity method investment">307,527</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">Return of equity</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_98C_ecustom--EquityMethodInvestmentReturnOfEquity_pp0p0_c20220101__20221231__dei--LegalEntityAxis__custom--FloridaBasedLLCMember_zfgGkQgZe7Jh" style="border-bottom: Black 1.5pt solid; text-align: right" title="Return of equity">(250,000</td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>Balance, December 31, 2022</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_98F_eus-gaap--EquityMethodInvestments_iS_pp0p0_c20230101__20230630__dei--LegalEntityAxis__custom--FloridaBasedLLCMember_zSaxRZhUVNJ6" style="text-align: right" title="Balance, Beginning">3,758,895</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">Gain in equity method investment</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_985_eus-gaap--EquityMethodInvestmentRealizedGainLossOnDisposal_pp0p0_c20230101__20230630__dei--LegalEntityAxis__custom--FloridaBasedLLCMember_zsnv3SXJ90M3" style="border-bottom: Black 1.5pt solid; text-align: right" title="Gain in equity method investment">326,703</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">Balance, June 30, 2023</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td id="xdx_981_eus-gaap--EquityMethodInvestments_iE_pp0p0_c20230101__20230630__dei--LegalEntityAxis__custom--FloridaBasedLLCMember_z6N5Et2tU8Zb" style="border-bottom: Black 1.5pt solid; text-align: right" title="Balance, Ending">4,085,598</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  </table>

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

<p id="xdx_890_eus-gaap--GainLossOnInvestmentsTextBlock_hdei--LegalEntityAxis__custom--FloridaBasedLLCMember_zD2EzOwkOrY6" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Summarized
profit and loss information related to the equity accounted investment is as follows:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8B3_z4kOik6t2gI2" style="display: none">SUMMARY
OF PROFIT AND LOSS INFORMATION RELATED TO EQUITY ACCOUNTED INVESTMENT</span></span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 95%; margin-right: auto">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_495_20230101__20230630_zIgksEyXaSbl" style="border-bottom: Black 1.5pt solid; text-align: center">Six months ended<br/> June 30, 2023</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_491_20220101__20220630_z4mcMtjaeA76" style="border-bottom: Black 1.5pt solid; text-align: center">Six months ended<br/> June 30, 2022</td><td style="padding-bottom: 1.5pt">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="text-align: right">&#160;</td><td>&#160;</td></tr>
  <tr id="xdx_402_eus-gaap--GainsLossesOnSalesOfInvestmentRealEstate_zvEVn5AzFCD2" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 60%; text-align: left">Net sales</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right">8,231,298</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">4,987,836</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_40A_eus-gaap--RealizedInvestmentGainsLosses_zHEIgNLGGJv4" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Gross profit</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">2,435,858</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">1,850,172</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_402_ecustom--RealizedInvestmentGainsLossesNet_zoNTJbfIBWa5" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Net income</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">653,407</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">766,167</td><td style="text-align: left">&#160;</td></tr>
  </table>

<p id="xdx_8AF_zf7S1BZ45QGb" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">During
the six months ended June 30, 2023, the Company had sales of $<span id="xdx_90D_eus-gaap--Revenues_c20230101__20230630__dei--LegalEntityAxis__custom--FloridaBasedLLCMember_zCTOQVucwfr4" title="Sales">5,091,764</span> (2022 - $<span id="xdx_903_eus-gaap--Revenues_c20220101__20220630__dei--LegalEntityAxis__custom--FloridaBasedLLCMember_zx4baBPIkuf3" title="Sales">5,450,698</span>) to the <span><span>Florida Based LLC</span></span>, of which $<span id="xdx_908_eus-gaap--AccountsReceivableNet_iI_c20230630__dei--LegalEntityAxis__custom--FloridaBasedLLCMember_zzLcCNiAQk0e" title="Accounts receivable related parties">2,851,981</span>
is included within <span><span>accounts receivable</span></span> as at June 30, 2023 (December 31, 2022 - $<span id="xdx_90C_eus-gaap--AccountsReceivableNet_iI_c20221231__dei--LegalEntityAxis__custom--FloridaBasedLLCMember_zjpVHl0MGWdj" title="Accounts receivable related parties">2,423,285</span>).</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>(e)
</b>In December 2020, the Company invested $<span id="xdx_906_eus-gaap--PaymentsToAcquireInvestments_pp0p0_c20201201__20201231__dei--LegalEntityAxis__custom--LygosIncMember_zretFCCSMc3g">500,000</span> in Lygos Inc. (&#8220;Lygos&#8221;), a privately held entity, under a Simple Agreement
for Future Equity (&#8220;SAFE&#8221;) agreement. Lygos is a company developing a sustainable aspartic acid microbe strain. In 2021,
the Company made a second SAFE investment of $<span id="xdx_903_eus-gaap--PaymentsToAcquireInvestments_c20210101__20211231__dei--LegalEntityAxis__custom--LygosIncMember_ziztX87oj3vi">500,000</span> for a total of $<span id="xdx_90D_eus-gaap--Investments_iI_c20211231__dei--LegalEntityAxis__custom--LygosIncMember_zhpUlNzmUVW5" title="Investment">1,000,000</span>. In accordance with ASC 321, the Company has elected
to account for this investment at cost.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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_EquityMethodInvestmentsAndJointVenturesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EquityMethodInvestmentsAndJointVenturesAbstract</td>
</tr>
<tr>
<td style="padding-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_EquityMethodInvestmentsDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for equity method investments and joint ventures. Equity method investments are investments that give the investor the ability to exercise significant influence over the operating and financial policies of an investee. Joint ventures are entities owned and operated by a small group of businesses as a separate and specific business or project for the mutual benefit of the members of the group.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 3: http://www.xbrl.org/2003/role/recommendedDisclosureRef<br> -Topic 323<br> -SubTopic 740<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481543/323-740-50-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Topic 323<br> -Publisher FASB<br> -URI https://asc.fasb.org//323/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EquityMethodInvestmentsDisclosureTextBlock</td>
</tr>
<tr>
<td style="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>26
<FILENAME>R17.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/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.23.2</span><table class="report" border="0" cellspacing="2" id="idm139976175637408">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>SHORT-TERM LINE OF CREDIT.<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtDisclosureAbstract', window );"><strong>Debt Disclosure [Abstract]</strong></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="Show.showAR( this, 'defref_us-gaap_ShortTermDebtTextBlock', window );">SHORT-TERM LINE OF CREDIT.</a></td>
<td class="text"><p id="xdx_802_eus-gaap--ShortTermDebtTextBlock_zK0N8kmF5lDh" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b>11.
<span id="xdx_829_zC3aY51B7bcl">SHORT-TERM LINE OF CREDIT.</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>(a)
</b>In June 2023, ENP Investments signed a new agreement with Stock Yards Bank and Trust (&#8220;Stock Yards&#8221;). Increasing the
limit by $<span id="xdx_90C_eus-gaap--LineOfCreditFacilityCurrentBorrowingCapacity_iI_c20230630__us-gaap--LineOfCreditFacilityAxis__custom--StockYardAndBankMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandStatesBankMember__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember_z566vV49KUBg" title="Increasing amount of revolving line of credit">500,000</span>, the revolving line of credit is for an aggregate amount of up to the lesser of (i) $<span id="xdx_903_eus-gaap--LineOfCreditFacilityMaximumBorrowingCapacity_iI_c20230630__us-gaap--LineOfCreditFacilityAxis__custom--StockYardAndBankMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandStatesBankMember__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember_zM0mSKCullbb" title="Aggregate amount of revolving line of credit">4,500,000</span>, or (ii) 50-80% of eligible
domestic accounts receivable plus <span id="xdx_90A_ecustom--PercentageOfForeignAccountsReceivableOfInventory_pid_dp_uPure_c20230601__20230630__us-gaap--LineOfCreditFacilityAxis__custom--StockYardAndBankMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandStatesBankMember__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember_zUTTU4S24rj3" title="Percentage of foreign accounts receivable of inventory">50</span>% of inventory, capped at $<span id="xdx_907_eus-gaap--DebtInstrumentFaceAmount_iI_pp0p0_c20230630__us-gaap--LineOfCreditFacilityAxis__custom--StockYardAndBankMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandStatesBankMember__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember_zx474Wa38vmk" title="Debt face amount">2,000,000</span>. Interest on the unpaid principal balance of this loan will
be calculated using the greater of prime or 8.25%. The interest rate at June 30, 2023 is <span id="xdx_90A_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_uPure_c20230630__us-gaap--LineOfCreditFacilityAxis__custom--StockYardAndBankMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandStatesBankMember__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember_z4y8vBDfxR02" title="Interest rate">8.25</span>% (December 31, 2022 - <span id="xdx_90D_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_uPure_c20221231__us-gaap--LineOfCreditFacilityAxis__custom--StockYardAndBankMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandStatesBankMember__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember_zcYeUaXHXZR2" title="Interest rate">7.5</span>%).</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
revolving line of credit contains customary affirmative and negative covenants, including the following: compliance with laws, provisions
of financial statements and periodic reports, payment of taxes, maintenance of inventory and insurance, maintenance of operating accounts
at Stock Yards, Stock Yard&#8217;s access to collateral, formation or acquisition of subsidiaries, incurrence of indebtedness, dispositions
of assets, granting liens, changes in business, ownership or business locations, engaging in mergers and acquisitions, making investments
or distributions and affiliate transactions. NanoChem is a guarantor of <span id="xdx_90B_ecustom--LoanGuaranteedRate_iI_pid_dp_uPure_c20230630__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember__dei--LegalEntityAxis__custom--NanoChemSolutionIncMember__us-gaap--LineOfCreditFacilityAxis__custom--StockYardAndBankMember_zDuptIxykVu9" title="Loan guaranteed rate">65</span>% of all the principal and other loan costs not to exceed $<span id="xdx_909_eus-gaap--LinesOfCreditCurrent_iI_pp0p0_c20230630__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember__dei--LegalEntityAxis__custom--NanoChemSolutionIncMember__us-gaap--LineOfCreditFacilityAxis__custom--StockYardAndBankMember_zp185ZjRbRWc" title="Line of credit">2,925,000</span>.
The non-controlling interest is the guarantor of the remaining <span id="xdx_902_ecustom--LoanGuaranteedRate_iI_pid_dp_uPure_c20230630__dei--LegalEntityAxis__custom--NanoChemSolutionIncMember__us-gaap--LineOfCreditFacilityAxis__custom--StockYardAndBankMember_zCjbw3pGGGA3" title="Loan guaranteed rate">35</span>% of all the principal and other loan costs not to exceed $<span id="xdx_90C_eus-gaap--LinesOfCreditCurrent_iI_pp0p0_c20230630__dei--LegalEntityAxis__custom--NanoChemSolutionIncMember__us-gaap--LineOfCreditFacilityAxis__custom--StockYardAndBankMember_zHxWKuQweL9j" title="Line of credit">1,575,000</span>.
As of June 30, 2023, ENP Investments was in compliance with all loan covenants.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">To
secure the repayment of any amounts borrowed under the revolving line of credit, the Company granted Stock Yards a security interest
in substantially all of the assets of ENP Investments, exclusive of intellectual property assets.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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; text-align: justify; margin: 0pt 0; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Short-term
borrowings outstanding under the revolving line as of June 30, 2023 were $<span id="xdx_902_eus-gaap--ShortTermBorrowings_iI_pp0p0_dxL_c20230630__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember__dei--LegalEntityAxis__custom--NanoChemSolutionIncMember__us-gaap--LineOfCreditFacilityAxis__custom--StockYardAndBankMember_zqmEGaL1diZ4" title="Short term borrowings::XDX::-"><span style="-sec-ix-hidden: xdx2ixbrl1327">nil</span></span> (December 31, 2022 - $<span id="xdx_904_eus-gaap--ShortTermBorrowings_iI_pp0p0_c20221231__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember__dei--LegalEntityAxis__custom--NanoChemSolutionIncMember__us-gaap--LineOfCreditFacilityAxis__custom--StockYardAndBankMember_zN0KDMX1jprj" title="Short term borrowings">2,477,794</span>).</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 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: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>(b)
</b>In June 2023, the Company signed a new agreement with Stock Yards Bank and Trust (&#8220;Stock Yards&#8221;). The revolving line
of credit is for an aggregate amount of up to the lesser of (i) $<span id="xdx_901_eus-gaap--LineOfCreditFacilityMaximumBorrowingCapacity_iI_pp0p0_c20230630__us-gaap--LineOfCreditFacilityAxis__custom--StockBankMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandStatesBankMember__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember_zszAHqQodwK7" title="Aggregate amount of revolving line of credit">4,000,000</span>, or (ii) <span id="xdx_906_ecustom--EligiblePercentageOfDomesticAccountsReceivable_pid_dp_uPure_c20230601__20230630__us-gaap--LineOfCreditFacilityAxis__custom--StockBankMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandStatesBankMember__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember_zPLJlNSidZQl" title="Eligible percentage of domestic accounts receivable">80</span>% of eligible domestic accounts receivable and
certain foreign accounts receivable plus <span id="xdx_90D_ecustom--PercentageOfForeignAccountsReceivableOfInventory_pid_dp_uPure_c20230601__20230630__us-gaap--LineOfCreditFacilityAxis__custom--StockBankMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandStatesBankMember__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember_zNQjau38pjFl" title="Percentage of foreign accounts receivable of inventory">50</span>% of inventory, capped at $<span id="xdx_908_eus-gaap--DebtInstrumentFaceAmount_iI_pp0p0_c20230630__us-gaap--LineOfCreditFacilityAxis__custom--StockBankMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandStatesBankMember__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember_zbvsicDLljG7" title="Debt face amount">2,000,000</span>. Interest on the unpaid principal balance of this loan
will be calculated using the greater of prime or 8.25%. The interest rate at June 30, 2023 was <span id="xdx_902_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pip0_dp_uPure_c20230630__us-gaap--LineOfCreditFacilityAxis__custom--StockBankMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandStatesBankMember__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember_zhNWihj15St8" title="Interest rate">8.25</span>% (December 31, 2022 - <span id="xdx_905_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pip0_dp_uPure_c20221231__us-gaap--LineOfCreditFacilityAxis__custom--StockBankMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandStatesBankMember__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember_zrnbLyws3Y52" title="Interest rate">7.5</span>%).</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
revolving line of credit contains customary affirmative and negative covenants, including the following: compliance with laws,
provision of financial statements and periodic reports, payment of taxes, maintenance of inventory and insurance, maintenance of
operating accounts at Stock Yards, Stock Yards access to collateral, formation or acquisition of subsidiaries, incurrence of
indebtedness, dispositions of assets, granting liens, changes in business, ownership or business locations, engaging in mergers and
acquisitions, making investments or distributions and affiliate transactions. The covenants also require that the Company maintain a
minimum ratio of qualifying financial assets to the sum of qualifying financial obligations. As of June 30, 2023, the Company was in
compliance with all loan covenants.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">To
secure the repayment of any amounts borrowed under the revolving line of credit, the Company granted Stock Yards a security interest
in substantially all of the assets of NanoChem, exclusive of intellectual property assets.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Short-term
borrowings outstanding under the revolving line as of June 30, 2023 were $<span id="xdx_906_eus-gaap--ShortTermBorrowings_iI_dxL_c20230630__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember__dei--LegalEntityAxis__custom--NanoChemSolutionIncMember__us-gaap--LineOfCreditFacilityAxis__custom--StockBankMember__us-gaap--CreditFacilityAxis__us-gaap--RevolvingCreditFacilityMember_zHjZOJmlZV8b" title="Short term borrowings::XDX::-"><span style="-sec-ix-hidden: xdx2ixbrl1343">nil</span></span> (December 31, 2022 - $<span id="xdx_906_eus-gaap--ShortTermBorrowings_iI_c20221231__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember__dei--LegalEntityAxis__custom--NanoChemSolutionIncMember__us-gaap--LineOfCreditFacilityAxis__custom--StockBankMember__us-gaap--CreditFacilityAxis__us-gaap--RevolvingCreditFacilityMember_zSpR0n2k3JIi" title="Short term borrowings">340,797</span>).</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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_DebtDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-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_ShortTermDebtTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for short-term debt.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 470<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//470/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShortTermDebtTextBlock</td>
</tr>
<tr>
<td style="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>27
<FILENAME>R18.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/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.23.2</span><table class="report" border="0" cellspacing="2" id="idm139976176718400">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>LONG TERM DEBT.<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtDisclosureAbstract', window );"><strong>Debt Disclosure [Abstract]</strong></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="Show.showAR( this, 'defref_us-gaap_LongTermDebtTextBlock', window );">LONG TERM DEBT.</a></td>
<td class="text"><p id="xdx_80E_eus-gaap--LongTermDebtTextBlock_zvXwlifoQtt5" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b>12.
<span id="xdx_825_zZwqbg6YaYX">LONG TERM DEBT.</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b>(</b></span><b><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">a<span style="font-variant: small-caps">)
</span></span></b><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In October 2020, NanoChem signed a loan for
$<span id="xdx_905_eus-gaap--DebtInstrumentFaceAmount_iI_pp0p0_c20201031__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--NanoChemSolutionsIncMember_zHGvKKwRJAAb" title="Debt instrument face amount">1,980,947</span> with Midland with a rate of <span id="xdx_901_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_uPure_c20201031__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__us-gaap--VariableRateAxis__us-gaap--PrimeRateMember__dei--LegalEntityAxis__custom--NanoChemSolutionsIncMember_zdvqjqt6D5E1" title="Debt instrument interest rate stated percentage">3.85</span>% to be repaid over <span id="xdx_903_eus-gaap--DebtInstrumentTerm_dtY_c20201001__20201031__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--NanoChemSolutionsIncMember_zkVWyWbpFKPb" title="Debt instrument term">5 </span>years with equal monthly payments including interest. The money was
used to retire the debt at Harris related to the loan to purchase a <span id="xdx_90B_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_uPure_c20201031__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--NanoChemSolutionsIncMember_zbpC5a79kJQi" title="Debt instrument interest rate stated percentage">65</span>% interest in ENP Investments. In June 2022, the loan was paid
in full with funds from Stock Yards. Interest expense for the three months ended March 31, 2022 was $<span id="xdx_90E_eus-gaap--InterestExpenseDebt_pp0p0_c20220101__20220331__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--NanoChemSolutionsIncMember_zHdBXsv5mjLe" title="Debt Long term debt amount">15,130</span>. The balance owing at June
30, 2023 was $<span id="xdx_90D_eus-gaap--InterestExpenseDebt_pp0p0_dxL_c20230101__20230630__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--NanoChemSolutionsIncMember_zhmT5YLZoKKf" title="Debt Long term debt amount::XDX::-"><span style="-sec-ix-hidden: xdx2ixbrl1359">nil</span></span> (December 31, 2022 - $<span id="xdx_901_eus-gaap--InterestExpenseDebt_pp0p0_c20220101__20221231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--NanoChemSolutionsIncMember_zqxfR2kxgw2" title="Debt Long term debt amount">nil</span>).</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b>(</b></span><b><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">b<span style="font-variant: small-caps">)
</span></span></b><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In October 2020, NanoChem signed a loan for
$<span id="xdx_901_eus-gaap--DebtInstrumentFaceAmount_iI_pp0p0_c20201031__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--NanoChemSolutionsIncMember_zHGNKgaP1FT6" title="Debt instrument face amount">894,253</span> with Midland with an interest rate <span id="xdx_902_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_uPure_c20201031__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__us-gaap--VariableRateAxis__us-gaap--PrimeRateMember__dei--LegalEntityAxis__custom--NanoChemSolutionsIncMember_zA4igi9pPdRj" title="Debt instrument interest rate stated percentage">3.85</span>% to be repaid over <span id="xdx_909_eus-gaap--DebtInstrumentTerm_dc_c20201001__20201031__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--NanoChemSolutionsIncMember_zYUNobHXojek">two years</span> with equal monthly payments including interest. The funds
were used to replace the loan at Harris for the purchase of new manufacturing equipment. In June 2022, the loan was paid in full with
funds from Stock Yards. Interest expense for the three months ended March 31, 2022 was $<span id="xdx_902_eus-gaap--InterestExpenseDebt_pp0p0_c20220101__20220331__dei--LegalEntityAxis__custom--NanoChemSolutionsIncMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember_za4tQeqwOsfe" title="Interest expense debt">3,417</span>. The balance owing at June 30, 2023 was
$<span id="xdx_90E_eus-gaap--DebtDefaultLongtermDebtAmount_iI_pp0p0_dxL_c20230630__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--NanoChemSolutionsIncMember_z1VniwY0C6Yj" title="Debt Long term debt amount::XDX::-"><span style="-sec-ix-hidden: xdx2ixbrl1370">nil</span></span> (December 31, 2022 - $<span id="xdx_904_eus-gaap--DebtDefaultLongtermDebtAmount_iI_pp0p0_dxL_c20221231__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--NanoChemSolutionsIncMember_zWIgtwYVfYh2" title="Debt Long term debt amount::XDX::-"><span style="-sec-ix-hidden: xdx2ixbrl1372">nil</span></span>).</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b>(</b></span><b><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">c)
</span></b><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In January 2020, ENP Mendota refinanced its mortgage
and signed a loan for $<span id="xdx_90D_eus-gaap--DebtInstrumentFaceAmount_iI_pp0p0_c20200131__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--ENPMendotaMember_zPKrxFmLKLji">450,000</span> with Stock Yards to be repaid over <span id="xdx_903_eus-gaap--DebtInstrumentTerm_dtY_c20200101__20200131__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--StockYardsBankTrustMember__dei--LegalEntityAxis__custom--EnpRealtyLLCMember_zaitiPBV2GTe">10</span> years with monthly installments plus interest. Interest for the
first five years is at <span id="xdx_90F_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_uPure_c20200131__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--StockYardsBankTrustMember__us-gaap--VariableRateAxis__us-gaap--PrimeRateMember__dei--LegalEntityAxis__custom--EnpRealtyLLCMember_zo3rMqqnG8H">4.35</span>% and it will be adjusted for the last five years to the Cincinnati Federal Home Bank Loan <span id="xdx_90B_eus-gaap--DebtInstrumentTerm_dtY_c20200101__20200131__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--ENPMendotaMember_zx0uVqNHEAQl">5</span> year fixed index
plus <span id="xdx_907_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_uPure_c20200131__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--ENPMendotaMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember_zz1Zu4Fgg4Zb">2.5</span>%. Interest expense for the six months ended June 30, 2023 was $<span id="xdx_900_eus-gaap--InterestExpenseDebt_pp0p0_c20230101__20230630__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--ENPMendotaMember_zXtdaf6MCKrd" title="Interest expense debt">8,975</span> (2022 - $<span id="xdx_909_eus-gaap--InterestExpenseDebt_pp0p0_c20220101__20221231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--ENPMendotaMember_znyoFIYWSzfg" title="Interest expense debt">4,635</span>). The balance owing at June 30, 2023 was
$<span id="xdx_909_eus-gaap--DebtDefaultLongtermDebtAmount_iI_pp0p0_c20230630__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--ENPMendotaMember_zUgmQYxe6Ve3">404,925</span> (December 31, 2022 - $<span id="xdx_902_eus-gaap--DebtDefaultLongtermDebtAmount_iI_pp0p0_c20221231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--ENPMendotaMember_znhI1zTKLgek">415,430</span>).</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b>(</b></span><b><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">d<span style="font-variant: small-caps">)
</span></span></b><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In June 2022, NanoChem signed a loan for
$<span id="xdx_909_eus-gaap--DebtInstrumentFaceAmount_iI_pp0p0_c20220630__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--ENPMendotaMember_z6ArenpkwFCj" title="Debt instrument face amount">1,935,000</span> with Stock Yards with an interest rate of 4.90% to be repaid over three years with equal monthly payments including interest.
The funds were used to replace the loans at Midland for the purchase of the 65% interest in ENP Investments and the new manufacturing
equipment. Interest expense for the six months ended June 30, 2023 was $<span id="xdx_901_eus-gaap--InterestExpenseDebt_pp0p0_c20230101__20230630__dei--LegalEntityAxis__custom--NanoChemMember__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember_z19Nh0fwqk3d">37,280</span> (2022 - $<span id="xdx_904_eus-gaap--InterestExpenseDebt_pp0p0_dxL_c20220101__20220630__dei--LegalEntityAxis__custom--NanoChemMember__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember_zpfXiDDsKwp" title="::XDX::-"><span style="-sec-ix-hidden: xdx2ixbrl1387">nil</span></span>). The balance owing at June 30, 2023 was
$<span id="xdx_905_eus-gaap--DebtDefaultLongtermDebtAmount_iI_pp0p0_c20230630__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--NanoChemMember_z29LvnB9OZRi" title="Debt Long term debt amount">1,322,511</span> (December 31, 2022 - $<span id="xdx_90E_eus-gaap--DebtDefaultLongtermDebtAmount_iI_pp0p0_c20221231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--NanoChemMember_zm01o1WSoGwe" title="Debt Long term debt amount">1,632,672</span>).</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 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: 0pt 0; text-align: justify"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b>(</b></span><b><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">e)
</span></b><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In January 2020 ENP Peru signed a $<span id="xdx_909_eus-gaap--DebtInstrumentFaceAmount_iI_pp0p0_c20200131__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--ENPPeruOneMember_zjfe3T77W0f6" title="Debt instrument face amount">3,000,000</span> loan
with an interest rate <span id="xdx_90A_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_uPure_c20200131__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__us-gaap--VariableRateAxis__us-gaap--PrimeRateMember__dei--LegalEntityAxis__custom--ENPPeruOneMember_zdaFDnhUkqdj" title="Debt instrument interest rate stated percentage">4.35</span>% to be repaid over <span id="xdx_90A_eus-gaap--DebtInstrumentTerm_c20200101__20200131__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--ENPPeruOneMember_zwVk5LSMEwNg">ten years</span> with equal monthly payments including interest. Upon the purchase of the remainder
of ENP Peru in June 2022, the Company assumed the first mortgage at Stock Yards with a balance of $<span id="xdx_901_eus-gaap--LoansPayable_iI_pp0p0_c20220630__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--ENPPeruOneMember_zEeo0ePJGBE1" title="First mortgage">2,849,500</span>. Interest expense for the
six months ended June 30, 2023 was $<span id="xdx_90E_eus-gaap--InterestExpense_pp0p0_c20230101__20230630__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--ENPPeruOneMember_zxiikgl2eKAl" title="Interest expense">61,251</span> (2022 - $<span id="xdx_90D_eus-gaap--InterestExpense_pp0p0_dxL_c20220101__20220630__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--ENPPeruOneMember_zDPQsPIJh8a8" title="Interest expense::XDX::-"><span style="-sec-ix-hidden: xdx2ixbrl1402">nil</span></span>). The balance owing at June 30, 2023 was $<span id="xdx_90F_eus-gaap--DebtInstrumentFaceAmount_iI_pp0p0_c20230630__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--ENPPeruOneMember_zDlCUBRhJUl1" title="Debt instrument face amount">2,775,372</span> (December 31, 2022 - $<span id="xdx_902_eus-gaap--DebtInstrumentFaceAmount_iI_pp0p0_c20221231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--ENPPeruOneMember_z7PLtPeQAZ1l" title="Debt instrument face amount">2,813,015</span>).</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>(f)
</b>In June 2022, ENP Peru obtained a second mortgage for $<span id="xdx_909_eus-gaap--DebtInstrumentFaceAmount_iI_pp0p0_c20220630__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--ENPPeruInvestmentsMember_zJkpJua17DKb" title="Debt instrument face amount">259,000</span> with Stock Yards to be repaid over <span id="xdx_904_eus-gaap--DebtInstrumentTerm_c20220601__20220630__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--ENPPeruInvestmentsMember_zYbfgQYGFYvd" title="Debt instrument term">10 years</span> with monthly installments
plus interest with an interest rate of <span id="xdx_902_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_uPure_c20220630__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__us-gaap--VariableRateAxis__us-gaap--PrimeRateMember__dei--LegalEntityAxis__custom--ENPPeruInvestmentsMember_zKpOJQVKj2xa" title="Debt instrument interest rate stated percentage">5.4</span>%. Interest expense for the six months ended June 30, 2023 was $<span id="xdx_90B_eus-gaap--InterestExpenseDebt_pp0p0_c20230101__20230630__dei--LegalEntityAxis__custom--ENPPeruInvestmentsMember__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember_ztXIjOT9dewj" title="Interest expense debt">6,960</span> (2022 - $<span id="xdx_90B_eus-gaap--InterestExpenseDebt_pp0p0_dxL_c20220101__20220630__dei--LegalEntityAxis__custom--ENPPeruInvestmentsMember__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember_zGAWDPHunAwe" title="Interest expense debt::XDX::-"><span style="-sec-ix-hidden: xdx2ixbrl1416">nil</span></span>). The balance
owing at June 30, 2023 was $<span id="xdx_900_eus-gaap--DebtDefaultLongtermDebtAmount_iI_pp0p0_c20230630__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--ENPPeruInvestmentsMember_zhbsvxRCtB33" title="Debt Long term debt amount">253,206</span> (December 31, 2022 - $<span id="xdx_90C_eus-gaap--DebtDefaultLongtermDebtAmount_iI_pp0p0_c20221231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--ENPPeruInvestmentsMember_zrJIqN4DD7g" title="Debt Long term debt amount">256,162</span>).</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>(g)
</b>In December 2022, NanoChem signed a three year loan for up to $<span id="xdx_904_eus-gaap--DebtInstrumentFaceAmount_iI_pp0p0_c20221231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--NanoChemMember_zoZJofld7URh" title="Debt instrument face amount">2,000,000</span> with Stock Yards with an interest rate of<span id="xdx_90F_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_uPure_c20221231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--VariableRateAxis__us-gaap--PrimeRateMember__dei--LegalEntityAxis__custom--NanoChemMember_zah8Bz89eGqc" title="Debt instrument interest rate stated percentage"> 6.5</span>%. Interest
only payments are required for the first 18 months with interest and principal being paid in the last 18 months. The funds are being
used to purchase new manufacturing equipment. Interest expense for the six months ended June 30, 2023 was $<span id="xdx_908_eus-gaap--InterestExpenseDebt_pp0p0_c20230101__20230630__dei--LegalEntityAxis__custom--NanoChemMember__us-gaap--DebtInstrumentAxis__custom--TermLoanMember_z3IFUIi9VCuk" title="Interest expense debt">33,139</span> (2022 - $<span id="xdx_909_eus-gaap--InterestExpenseDebt_pp0p0_dxL_c20220101__20220630__dei--LegalEntityAxis__custom--NanoChemMember__us-gaap--DebtInstrumentAxis__custom--TermLoanMember_z0WnpoR3JMaa" title="Interest expense debt::XDX::-"><span style="-sec-ix-hidden: xdx2ixbrl1428">nil</span></span>). The
balance owing at June 30, 2023 was $<span id="xdx_900_eus-gaap--DebtDefaultLongtermDebtAmount_iI_pp0p0_c20230630__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--NanoChemMember_zDI6Q1mh4bu" title="Debt Long term debt amount">1,036,798</span> (December 31, 2022 - $<span id="xdx_900_eus-gaap--DebtDefaultLongtermDebtAmount_iI_pp0p0_c20221231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--NanoChemMember_z3kqLKPSvYa7" title="Debt Long term debt amount">1,036,798</span>).</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>(h)
</b>In June 2023, 317 Mendota signed a five year loan for up to $<span id="xdx_907_eus-gaap--DebtInstrumentFaceAmount_iI_pp0p0_c20230630__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--MendotaMember_zGCdz0hCcYC8" title="Debt instrument face amount">3,240,000</span> with Stock Yards Bank to purchase the building and any necessary
renovations. Interest only payments are required for the first <span title="Debt instrument term">12 months</span> with interest and principal being paid the remaining four years
and a lump sum due in June 2028. Interest expense for the six months ended June 30, 2023 was $<span id="xdx_903_eus-gaap--InterestExpenseDebt_pp0p0_dxL_c20230101__20230630__dei--LegalEntityAxis__custom--MendotaMember__us-gaap--DebtInstrumentAxis__custom--TermLoanMember_zi4wDPUeciak" title="Interest expense debt::XDX::-"><span style="-sec-ix-hidden: xdx2ixbrl1436">nil</span></span> (2022 - $<span id="xdx_90C_eus-gaap--InterestExpenseDebt_pp0p0_dxL_c20220101__20220630__dei--LegalEntityAxis__custom--MendotaMember__us-gaap--DebtInstrumentAxis__custom--TermLoanMember_zczcopBi8RBb" title="Interest expense debt::XDX::-"><span style="-sec-ix-hidden: xdx2ixbrl1438">nil</span></span>). The balance owing at
June 30, 2023 was $<span id="xdx_905_eus-gaap--DebtDefaultLongtermDebtAmount_iI_pp0p0_c20230630__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--MendotaMember_zA7CzDlpGmte" title="Debt Long term debt amount">2,248,292</span> (December 31, 2022 - $<span id="xdx_90E_eus-gaap--DebtDefaultLongtermDebtAmount_iI_pp0p0_dxL_c20221231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--MendotaMember_zlct4qta3UEe" title="Debt Long term debt amount::XDX::-"><span style="-sec-ix-hidden: xdx2ixbrl1442">nil</span></span>).</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">As
of June 30, 2023, Company was in compliance with all loan covenants.</span></p>

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




<p id="xdx_89E_ecustom--ScheduleOfLoanCovenantsTableTextBlock_zoZ5IdrmBkdf" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8B1_zS1eqBmQLTac" style="display: none">SCHEDULE
OF LOAN COVENANTS</span></span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#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">Continuity</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_49C_20230101__20230630_zhDTKMjJtUjc" style="border-bottom: Black 1.5pt solid; text-align: center">June 30, 2023</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_49F_20220101__20221231_ziLl7cL7blbd" style="border-bottom: Black 1.5pt solid; text-align: center">December 31, 2022</td><td style="padding-bottom: 1.5pt">&#160;</td></tr>
  <tr id="xdx_404_eus-gaap--LongTermDebt_iS_zrajopwRNnTj" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 61%">Balance, January 1</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 15%; text-align: right">6,154,077</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">2,366,598</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_40B_eus-gaap--LongTermDebt_iS_zFCauw0ZJJ1a" style="display: none; vertical-align: bottom; background-color: rgb(204,238,255)">
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Balance,
    beginning of period</span></td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">6,154,077</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">2,366,598</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: 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--ProceedsFromBankDebt_zATUMaPgHEX4" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Plus: Proceeds from loans</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">2,248,292</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">3,230,798</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_402_ecustom--ProceedsFromLoanAcquiredFromAcquisition_zYS53pXKK5pg" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Plus: Loan acquired with acquisition of ENP Peru</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1455">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">2,849,500</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_409_eus-gaap--PaymentsForProceedsFromDepositOnLoan_iN_di_zgx5PKKL9tzd" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1.5pt">Less: Payments on loan</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">(361,265</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">(2,292,819</td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr id="xdx_409_eus-gaap--LongTermDebt_iE_zVkfOrsdkkC2" style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 2.5pt">Balance, 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">8,041,104</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">6,154,077</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

<p id="xdx_8AF_zKNKh5WZTEb7" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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--ScheduleOfDebtInstrumentsTextBlock_zDkhNHs9U6x5" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8B0_zIaQZisPqVxi" style="display: none">SCHEDULE
OF OUTSTANDING BALANCE LOAN</span></span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#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">Outstanding balance</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_491_20230630_z2DqVYlpl9na" style="border-bottom: Black 1.5pt solid; text-align: center">June 30, 2023</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_492_20221231_zze1SBM3Lew7" style="border-bottom: Black 1.5pt solid; text-align: center">December 31, 2022</td><td style="padding-bottom: 1.5pt">&#160;</td></tr>
  <tr id="xdx_403_eus-gaap--LongTermDebt_iI_hus-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandStatesBankMember_zm49A4jvxLYj" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">a) Long term debt &#8211; Midland States Bank</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1466">-</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: xdx2ixbrl1467">-</span></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_406_eus-gaap--LongTermDebt_iI_hus-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandStatesBankOneMember_zJTArF9QNPyb" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">b) Long term debt &#8211; Midland States Bank</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1469">-</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="-sec-ix-hidden: xdx2ixbrl1470">-</span></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_eus-gaap--LongTermDebt_iI_hus-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--StockYardsBankTrustMember_zNvYPPw5kMKh" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 61%; text-align: left">c) Long term debt &#8211; Stock Yards Bank &amp; Trust</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 15%; text-align: right">404,925</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">415,430</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_eus-gaap--LongTermDebt_iI_hus-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--StockYardsBankTrustOneMember_z7sdTDFgFpo6" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">d) Long term debt &#8211; Stock Yards Bank &amp; Trust</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">1,322,511</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">1,632,672</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_409_eus-gaap--LongTermDebt_iI_hus-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--StockYardsBankTrustTwoMember_zZ5Za8Csbyv3" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">e) Long term debt &#8211; Stock Yards Bank &amp; Trust</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">2,775,372</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">2,813,015</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40B_eus-gaap--LongTermDebt_iI_hus-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--StockYardsBankTrustThreeMember_zK9xmD9o8Cb4" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">f) Long term debt &#8211; Stock Yards Bank &amp; Trust</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">253,206</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">256,162</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_406_eus-gaap--LongTermDebt_iI_hus-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--StockYardsBankTrustFourMember_zXE5ONgEg4q5" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">g) Long term debt &#8211; Stock Yards Bank &amp; Trust</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">1,036,798</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">1,036,798</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_405_eus-gaap--LongTermDebt_iI_hus-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--StockYardsBankTrustFiveMember_zJhriDM9M7d2" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1.5pt">h) Long term debt &#8211; Stock Yards Bank &amp; Trust</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">2,248,292</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="display: none; font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="-sec-ix-hidden: xdx2ixbrl1488">-</span></span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_400_eus-gaap--LongTermDebt_iI_zTTlYnrAAmze" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Long-term Debt</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">8,041,104</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">6,154,077</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--LongTermDebtCurrent_iNI_di_zMgIePBBrUk1" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1.5pt">Less: current portion</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">(738,916</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">(717,612</td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr id="xdx_40B_eus-gaap--LongTermDebtNoncurrent_iI_zzr3slaHlpr6" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 2.5pt"><span style="display: none; font-family: Times New Roman, Times, Serif; font-size: 10pt">Long-term
    Debt non current</span><span style="font-family: Times New Roman, Times, Serif">&#160;</span></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">7,302,188</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,436,465</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

<p id="xdx_8A8_zBGPg9tHOpQe" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><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_DebtDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-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_LongTermDebtTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for long-term debt.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 470<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//470/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermDebtTextBlock</td>
</tr>
<tr>
<td style="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>R19.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/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.23.2</span><table class="report" border="0" cellspacing="2" id="idm139976175632592">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>STOCK OPTIONS.<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="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" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock', window );">STOCK OPTIONS.</a></td>
<td class="text"><p id="xdx_80D_eus-gaap--DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock_zlb0PWbWE07b" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b>13.
<span id="xdx_82C_z1pgSAS3dnl7">STOCK OPTIONS.</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company has a stock option plan (&#8220;Plan&#8221;). The purpose of this Plan is to provide additional incentives to key employees,
officers, directors and consultants of the Company and its subsidiaries in order to help attract and retain the best available personnel
for positions of responsibility and otherwise promote the success of the Company&#8217;s business. It is intended that options issued
under this Plan constitute non-qualified stock options. The general terms of awards under the option plan are that <span id="xdx_903_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage_pid_dp_uPure_c20230101__20230630_z5PM07UVv1Ul" title="Options granted percentage">100</span>% of the options
granted will vest the year following the grant. The maximum term of options granted is <span id="xdx_904_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod_dtY_c20230101__20230630_zfaXVOEDwe6b" title="Options maximum granted term">5</span> years and the exercise price for all options
are issued for not less than fair market value at the date of the grant.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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_895_eus-gaap--ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock_zfxl3O3f6Ta" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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 Company&#8217;s stock option activities for the year ended December 31, 2022 and the six month period
ended June 30, 2023:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8BA_z4dw2pbQQzCb" style="display: none">SCHEDULE
OF STOCK OPTION ACTIVITIES</span></span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#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="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">Number of<br/> shares</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">Exercise price<br/> per share</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">Weighted<br/> average <br/>
exercise <br/> price</td><td style="padding-bottom: 1.5pt">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <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: rgb(204,238,255)">
    <td style="width: 51%">Balance, December 31, 2021</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td id="xdx_98E_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iS_pid_c20220101__20221231_zJuWVd893JWg" style="width: 13%; text-align: right" title="Number of shares, Beginning Balance">789,500</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: 13%; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_904_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice_iS_c20220101__20221231__srt--RangeAxis__srt--MinimumMember_zwIUCOrBWkvd" title="Exercise price per share, Beginning Balance">1.42</span> &#8211; <span id="xdx_90C_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice_iS_c20220101__20221231__srt--RangeAxis__srt--MaximumMember_zpoMUlHvHEy9" title="Exercise price per share, Beginning Balance">4.13</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_985_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_iS_c20220101__20221231_zffIqyKPDY91" style="width: 11%; text-align: right" title="Weighted average exercise price, Beginning Balance">2.78</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>Granted</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_983_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_pid_c20220101__20221231_zEVaTFPRqHii" style="text-align: right" title="Number of shares, Granted">981,000</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_908_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeGrantedOptionsExercisePrice_c20220101__20221231__srt--RangeAxis__srt--MinimumMember_zd1KasXqxSvl" title="Exercise price per share, Granted">3.55</span> &#8211; <span id="xdx_903_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeGrantedOptionsExercisePrice_c20220101__20221231__srt--RangeAxis__srt--MaximumMember_z97xzdffHC6e" title="Exercise price per share, Granted">3.61</span></span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_98E_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_c20220101__20221231_z6vmho7MA30j" style="text-align: right" title="Weighted average exercise price, Granted">3.55</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">Cancelled or expired</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_985_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod_iN_pid_di_c20220101__20221231_z7vzL9wAcVX4" style="text-align: right" title="Number of shares, Cancelled or expired">(13,486</td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_90F_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice_c20220101__20221231__srt--RangeAxis__srt--MinimumMember_zMNXTsOzmUf9" title="Exercise price per share, Cancelled">1.70</span> &#8211; <span id="xdx_90E_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice_c20220101__20221231__srt--RangeAxis__srt--MaximumMember_zD9eeSjjpST" title="Exercise price per share, Cancelled">3.61</span></span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_987_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice_c20220101__20221231_zD6Ne8U90FBl" style="text-align: right" title="Weighted average exercise price, Cancelled or expired">2.32</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 1.5pt">Exercised</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_98D_eus-gaap--StockIssuedDuringPeriodSharesStockOptionsExercised_iN_pid_di_c20220101__20221231_zHt490JTXry" style="border-bottom: Black 1.5pt solid; text-align: right" title="Number of shares, Exercised">(71,014</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">$</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_906_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExcercisedOptionsExercisePrice_c20220101__20221231__srt--RangeAxis__srt--MinimumMember_zqbAOLWygKtg" title="Exercise price per share, Exercised">1.42</span> &#8211; <span id="xdx_902_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExcercisedOptionsExercisePrice_c20220101__20221231__srt--RangeAxis__srt--MaximumMember_zvozzROO4jli" title="Exercise price per share, Exercised">2.44</span></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">$</td><td id="xdx_98E_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_c20220101__20221231_zFSKk0pRJjN8" style="border-bottom: Black 1.5pt solid; text-align: right" title="Weighted average exercise price, Exercised">1.98</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>Balance, December 31, 2022 </td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span id="xdx_905_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iS_pid_c20230101__20230630_zdDZq4yJIRp5" title="Number of shares, Beginning Balance">1,686,000</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="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_902_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice_iS_pid_c20230101__20230630__srt--RangeAxis__srt--MinimumMember_z3sDOrhs83rd" title="Exercise price per share, Beginning Balance">1.70</span> &#8211; <span id="xdx_90F_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice_iS_pid_c20230101__20230630__srt--RangeAxis__srt--MaximumMember_zkwgPVKgVGB1" title="Exercise price per share, Beginning Balance">4.13</span></span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><span id="xdx_903_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_iS_c20230101__20230630_zqOQq4nWx8R2" title="Weighted average exercise price, Beginning Balance">3.27</span></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 1.5pt">Exercised</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--StockIssuedDuringPeriodSharesStockOptionsExercised_iN_pid_di_c20230101__20230630_ztlCwuJvLPl4" style="border-bottom: Black 1.5pt solid; text-align: right" title="Number of shares, Exercised">(8,000</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">$</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><span id="xdx_903_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExcercisedOptionsExercisePrice_c20230101__20230630_zKpoXi6RtGM4" title="Exercise price per share, Exercised">1.70</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">$</td><td id="xdx_98A_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_c20230101__20230630_zlMPCU8pRDBe" style="border-bottom: Black 1.5pt solid; text-align: right" title="Weighted average exercise price, Exercised">1.70</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: 1.5pt"><p style="margin: 0">Balance, June 30, 2023</p></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 id="xdx_907_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iE_pid_c20230101__20230630_zVmjWPCpwZ9k" title="Number of shares Exercisable, Ending Balance">1,678,000</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">$</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><p style="margin: 0"><span id="xdx_901_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice_iE_pid_c20230101__20230630__srt--RangeAxis__srt--MinimumMember_zfunBo7xfEF5" title="Exercise price per share, Ending Balance">1.75</span> &#8211; <span id="xdx_901_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice_iE_pid_c20230101__20230630__srt--RangeAxis__srt--MaximumMember_zXPHDo7jauoj" title="Exercise price per share, Ending Balance">4.13</span></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">$</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><p style="margin: 0"><span id="xdx_903_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_iE_c20230101__20230630_zLnvDSZ2mV11" title="Weighted average exercise price, Ending Balance">3.27</span></p></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">Exercisable, June 30, 2023</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--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_iE_pid_c20230101__20230630_z1bXJQS203Jg" style="border-bottom: Black 1.5pt solid; text-align: right" title="Number of shares Exercisable, Ending Balance">672,000</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"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_906_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingExercisableOptionsExercisePrice_iE_pid_c20230101__20230630__srt--RangeAxis__srt--MinimumMember_zhWusqCJDj5" title="Exercise price per share Exercisable, Ending Balance">1.75</span>
&#8211; <span id="xdx_90A_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingExercisableOptionsExercisePrice_iE_pid_c20230101__20230630__srt--RangeAxis__srt--MaximumMember_zpAHI9NBtmTl" title="Exercise price per share Exercisable, Ending Balance">4.13</span></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">$</td><td id="xdx_980_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_iE_c20230101__20230630_zrEhyCDCqOFb" style="border-bottom: Black 1.5pt solid; text-align: right" title="Weighted average exercise price, Ending Balance">2.94</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  </table>

<p id="xdx_8A5_zZw1fQaaoZM2" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
weighted average remaining contractual life of options outstanding is <span id="xdx_909_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_dtY_c20230101__20230630_zAzMCJsyaPQk" title="Weighted-average remaining contractual life">3.4</span> years.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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_892_eus-gaap--ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock_zwJKaCMQJ3d2" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
fair value of each option grant is calculated using the following weighted average assumptions:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8B1_z7Jei0Vm5bP" style="display: none">SCHEDULE
OF STOCK OPTION FAIR VALUE ASSUMPTIONS</span></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; margin-left: auto; border-collapse: collapse; width: 85%; margin-right: auto">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">2022</td><td style="padding-bottom: 1.5pt">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 80%; text-align: left">Expected life &#8211; years</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_907_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_dtY_c20220101__20221231_zvLBHuU4jyn2" title="Expected life - years">3.0</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">Interest rate</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_902_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_pid_dp_uPure_c20220101__20221231__srt--RangeAxis__srt--MinimumMember_z1nF2QJBG8Da" title="Interest rate">1.76</span>
&#8211; <span id="xdx_906_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_pid_dp_uPure_c20220101__20221231__srt--RangeAxis__srt--MaximumMember_zJCHJWN1n5Sc" title="Interest rate">3.64</span></span></td><td style="text-align: left">%</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 style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_907_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_pid_dp_uPure_c20220101__20221231__srt--RangeAxis__srt--MinimumMember_zL0Ju8HveQak" title="Volatility">66.01</span> - <span id="xdx_909_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_pid_dp_uPure_c20220101__20221231__srt--RangeAxis__srt--MaximumMember_zXdJFlpmmL6j" title="Volatility">69.66</span></span></td><td style="text-align: left">%</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>Weighted average fair value of options granted</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_90B_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_pid_c20220101__20221231__srt--RangeAxis__srt--MinimumMember_zQ362VRFc0nl" title="Weighted average fair value of options granted">1.46</span>
&#8211; <span id="xdx_90F_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_pid_c20220101__20221231__srt--RangeAxis__srt--MaximumMember_z9uhnUbuxZlj" title="Weighted average fair value of options granted">1.65</span></span></td><td style="text-align: left">&#160;</td></tr>
  </table>

<p id="xdx_8AC_zyQl82EQV6I8" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">During
the six months ended June 30, 2023 and 2022, the Company did not grant any new options to consultants or employees. Options granted in
previous quarters resulted in expenses in the amount of $<span id="xdx_90A_eus-gaap--StockOptionPlanExpense_pp0d_c20230101__20230630__srt--TitleOfIndividualAxis__custom--ConsultantsMember_zrLfZFYMJtcd" title="Stock option plan expense">330,862</span> for consultants (2022 - $<span id="xdx_90B_eus-gaap--StockOptionPlanExpense_pp0d_c20220101__20220630__srt--TitleOfIndividualAxis__custom--ConsultantsMember_zEI8FIG7LTB" title="Stock option plan expense">31,587</span>) and in the amount of $<span id="xdx_903_ecustom--AdditionalExpensesDueToOptionsGranted_c20230101__20230630__srt--TitleOfIndividualAxis__custom--EmployeesMember_zxSm7GCoguGh" title="Additional expenses due to options granted">31,594</span> for employees
during the six months ended June 30, 2023 (2022 - $<span id="xdx_901_ecustom--AdditionalExpensesDueToOptionsGranted_c20220101__20220630__srt--TitleOfIndividualAxis__custom--EmployeesMember_zMdkmrahwhs4" title="Additional expenses due to options granted">74,228</span>). There were <span id="xdx_900_eus-gaap--StockIssuedDuringPeriodSharesStockOptionsExercised_c20230101__20230630__srt--TitleOfIndividualAxis__custom--EmployeesMember_z7rQ0NdQb3cj" title="Stock options exercised">8,000</span> employee and <span id="xdx_90A_eus-gaap--StockIssuedDuringPeriodSharesStockOptionsExercised_dxL_c20230101__20230630__srt--TitleOfIndividualAxis__custom--ConsultantMember_zOim8qEBGVS4" title="Stock options exercised::XDX::-"><span style="-sec-ix-hidden: xdx2ixbrl1597">nil</span></span> consultant stock options exercised during
the six months ended June 30, 2023 (2022 &#8211; <span id="xdx_905_eus-gaap--StockIssuedDuringPeriodSharesStockOptionsExercised_c20220101__20220630__srt--TitleOfIndividualAxis__custom--EmployeesMember_zehgczLhn177" title="Stock options exercised">29,500</span> employee; nil consultant).</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">As
of June 30, 2023, there was approximately $<span id="xdx_900_eus-gaap--EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_iI_pp0p0_c20230630_zbJQ4SZteUn3" title="Stock vested compensation non vested">1,070,505</span> of compensation expense related to non-vested awards. This expense is expected to
be recognized over a weighted average period of <span id="xdx_906_eus-gaap--EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_dtY_c20230101__20230630_zKQkZrAJTYah" title="Weighted average period expected to be recognized">2.2</span> years.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
aggregate intrinsic value of vested options outstanding at June 30, 2023 is $<span id="xdx_904_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAggregateIntrinsicValue_iI_dxL_c20230630__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--CanadaRevenueAgencyMember_zvErdMeFfsi" title="Aggregate intrinsic value of vested options::XDX::-"><span style="-sec-ix-hidden: xdx2ixbrl1605">nil</span></span> (2022 &#8211; $<span id="xdx_908_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAggregateIntrinsicValue_iI_dxL_c20221231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--CanadaRevenueAgencyMember_zWVWNJofIEaa" title="Aggregate intrinsic value of vested options::XDX::-"><span style="-sec-ix-hidden: xdx2ixbrl1607">nil</span></span>).</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0"><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_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//718/tableOfContent<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (l)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock</td>
</tr>
<tr>
<td style="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_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>29
<FILENAME>R20.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/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.23.2</span><table class="report" border="0" cellspacing="2" id="idm139976175705392">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>CAPITAL STOCK<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="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" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquityNoteDisclosureTextBlock', window );">CAPITAL STOCK</a></td>
<td class="text"><p id="xdx_808_eus-gaap--StockholdersEquityNoteDisclosureTextBlock_zcbNtEujyMr5" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b>14.
<span id="xdx_82C_zJX1ICrr20e3">CAPITAL STOCK</span></b></span><b><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">.</span></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">During
the six months ended June 30, 2023, <span id="xdx_90C_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_pid_c20230101__20230630__srt--TitleOfIndividualAxis__custom--EmployeeMember_z1fBc2axrB7b" title="Stock options granted">8,000</span> shares were issued upon the exercise of employee stock options (2022 &#8211; <span id="xdx_909_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_pid_c20220101__20220630__srt--TitleOfIndividualAxis__custom--EmployeeMember_zXP3F3SoBQtg" title="Stock options granted">29,500</span>).</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">During
the six months ended June 30 2023, the Company issued <span id="xdx_90E_eus-gaap--StockIssuedDuringPeriodSharesIssuedForServices_c20230101__20230630_zhz6VXGWhtli" title="Consultant for services, shares">1,272</span> shares to a consultant for services rendered, resulting in an expense of
$<span id="xdx_90F_eus-gaap--StockIssuedDuringPeriodValueIssuedForServices_c20230101__20230630_zmpc3LJZwwki" title="Consultant for services, value">4,070</span> on the unaudited interim condensed consolidated statements of income and comprehensive income for the six months ended June 30, 2023</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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; text-align: justify; margin: 0pt 0; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
six months ended June 30, 2023, the Company announced a special dividend of $<span id="xdx_909_eus-gaap--DividendsPayableAmountPerShare_iI_pid_c20230630_zJT4oAg0RP44" title="Dividends per share">0.05</span> per share that was paid on May 16, 2023 to shareholders.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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_EquityAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for equity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-13<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (h)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-13<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 14<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-14<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 235<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481062/946-235-50-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 235<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481062/946-235-50-2<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 505<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481004/946-505-50-6<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480237/815-40-50-6<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480008/505-10-S99-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(e)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 10: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//505/tableOfContent<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-13<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-13<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-13<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 14<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-14<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 14<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-14<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 16<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-16<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 18<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-18<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 18<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-18<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 18<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-18<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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>30
<FILENAME>R21.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/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.23.2</span><table class="report" border="0" cellspacing="2" id="idm139976175665712">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>NON-CONTROLLING INTERESTS<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NoncontrollingInterestAbstract', window );"><strong>Noncontrolling Interest [Abstract]</strong></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="Show.showAR( this, 'defref_us-gaap_MinorityInterestDisclosureTextBlock', window );">NON-CONTROLLING INTERESTS</a></td>
<td class="text"><p id="xdx_80E_eus-gaap--MinorityInterestDisclosureTextBlock_z7TPFrlKdtd1" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b>15.
<span id="xdx_828_zrhQKiglLGe">NON-CONTROLLING INTERESTS</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b>(</b></span><b><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">a<span style="font-variant: small-caps">)
</span></span></b><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">ENP Investments is a limited liability corporation
(&#8220;LLC&#8221;) that manufactures and distributes golf, turf and ornamental agriculture products in Mendota, Illinois. The Company
owns a<span id="xdx_908_eus-gaap--SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest_pid_dp_uPure_c20230101__20230630__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember_z0CWn39X6Gsg" title="Subsidiary company ownership interest rate"> 65</span>% interest in ENP Investments through its wholly-owned subsidiary NanoChem. An unrelated party (&#8220;NCI&#8221;) owns the
remaining <span id="xdx_90B_eus-gaap--MinorityInterestOwnershipPercentageByParent_iI_pid_dp_uPure_c20230630__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember_zbWcpUq0bfY9" title="Related party owner ship percentage">35</span>% interest in ENP Investments. ENP Mendota is a wholly owned subsidiary of ENP Investments. ENP Mendota leases warehouse
space. For financial reporting purposes, the assets, liabilities and earnings of both of the LLC&#8217;s are consolidated into these
financial statements. The NCI&#8217;s ownership interest in ENP Investments is recorded in non-controlling interests in these consolidated
financial statements. The non-controlling interest represents NCI&#8217;s interest in the earnings and equity of ENP Investments. ENP
Investments is allocated to the TPA segment.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">ENP
Investments makes cash distributions to its equity owners based on formulas defined within its Ownership Interest Purchase Agreement
dated October 1, 2018. Distributions are defined in the Ownership Interest Purchase Agreement as cash on hand to the extent it exceeds
current and anticipated long-term and short-term needs, including, without limitation, needs for operating expenses, debt service, acquisitions,
reserves, and mandatory distributions, if any.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">From
the effective date of acquisition onward, the minimum distributions requirements under the Ownership Interest Purchase Agreement were
satisfied. The total distribution from the effective date of acquisition onward was $<span id="xdx_906_eus-gaap--PaymentsToMinorityShareholders_c20230101__20230630__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember_zhDYzLDgMH03" title="Partnership distribution to non-controlling interest">2,894,214</span>.</span></p>

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




<p id="xdx_89F_ecustom--ScheduleOfDistributionsTableTextBlock_zFMxiGRJt3Te" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8BC_ztHIY4YTAjYb" style="display: none">SCHEDULE
OF DISTRIBUTIONS</span></span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 85%; margin-right: auto">
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 80%; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Balance, December 31, 2021</span></td><td style="width: 2%; text-align: left">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_989_eus-gaap--MinorityInterest_iS_c20220101__20221231__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_zgvlhy7K9l2c" style="width: 16%; text-align: right" title="Distribution to noncontrolling interests, Beginning balance">2,602,843</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">Distribution</span></td><td style="text-align: left">&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98C_eus-gaap--MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders_iN_di_c20220101__20221231__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_zKh85xGUkdb2" style="text-align: right" title="Distribution">(689,434</td><td style="text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Non-controlling interest share of income</span></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 id="xdx_98A_eus-gaap--NetIncomeLossAttributableToNoncontrollingInterest_c20220101__20221231__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_zdZIR027pq7j" style="border-bottom: Black 1.5pt solid; text-align: right" title="Non-controlling interest share of income">691,625</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"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Balance, December 31, 2022</span></td><td style="text-align: left">&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_989_eus-gaap--MinorityInterest_iS_c20230101__20230630__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_zm99Go8reLVe" style="text-align: right" title="Distribution to noncontrolling interests, Beginning balance">2,605,034</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">Distribution</span></td><td style="text-align: left">&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_982_eus-gaap--MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders_iN_di_c20230101__20230630__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_zrpXy4I02COg" style="text-align: right" title="Distribution">(387,696</td><td style="text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 1.5pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Non-controlling interest share of income</span></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 id="xdx_987_eus-gaap--NetIncomeLossAttributableToNoncontrollingInterest_c20230101__20230630__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_zXNJOMaOcfh6" style="border-bottom: Black 1.5pt solid; text-align: right" title="Non-controlling interest share of income">264,987</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: 1.5pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Balance, June 30, 2023</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td id="xdx_98E_eus-gaap--MinorityInterest_iE_c20230101__20230630__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_zpYmS9UzsNCc" style="border-bottom: Black 1.5pt solid; text-align: right" title="Distribution to noncontrolling interests, Ending balance">2,482,325</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  </table>

<p id="xdx_8A6_zqNP7Yr6dvx8" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">During
the six months ended June 30, 2023, the Company had sales of $<span id="xdx_906_eus-gaap--Revenues_c20230101__20230630__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember_zEPStAfTxf8a" title="Sales">2,203,761</span> (2022 - $<span id="xdx_90A_eus-gaap--Revenues_c20220101__20220630__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember_zMdz8PaNAKfj" title="Sales">2,760,661</span>) to the party that holds <span id="xdx_903_eus-gaap--MinorityInterestOwnershipPercentageByParent_iI_pid_dp_uPure_c20230630__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember_zVy3CijguaOe" title="Related party ownership percentage">35</span>% interest in ENP
Investments, of which $<span id="xdx_906_eus-gaap--AccountsReceivableNetCurrent_iI_c20230630__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember_zpCPAIe1er6g" title="Accounts receivable">359,435</span> is included within Accounts Receivable as of June 30, 2023 (December 31, 2022 &#8211; $<span id="xdx_90C_eus-gaap--AccountsReceivableNetCurrent_iI_c20221231__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember_z547LM1WIdC9" title="Accounts receivable">3,634,083</span>).</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b>(</b></span><b><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">b<span style="font-variant: small-caps">)
</span></span></b><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">317 Mendota is a limited liability corporation
(&#8220;LLC&#8221;) that owns real estate that the Company intends to occupy part of while renting out the excess. The Company owns a
<span id="xdx_904_eus-gaap--SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest_pid_dp_uPure_c20230101__20230630__srt--OwnershipAxis__custom--MendotaLLCMember_zKWiHrsGXP45" title="Subsidiary company ownership interest rate">80</span>% interest in 317 Mendota and an unrelated party (&#8220;NCI&#8221;) owns the remaining <span id="xdx_906_eus-gaap--MinorityInterestOwnershipPercentageByParent_iI_pid_dp_uPure_c20230630__srt--OwnershipAxis__custom--MendotaLLCMember_z4llkMj3XUxj" title="Related party owner ship percentage">20</span>% interest in 317 Mendota. For financial
reporting purposes, the assets, liabilities and earnings of the LLC&#8217;s are consolidated into these financial statements. The NCI&#8217;s
ownership interest in 317 Mendota is recorded in non-controlling interests in these consolidated financial statements. The non-controlling
interest represents NCI&#8217;s interest in the earnings and equity of 317 Mendota. 317 Mendota is allocated to the TPA segment as that
is the intended use of the building.</span></p>

<p id="xdx_891_ecustom--ScheduleOfNonControllingInterestRelatedToAcquisitionTableTextBlock_zUsN686B5kMa" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8BA_zAF5i0ZdUOI" style="display: none">SCHEDULE
OF NON CONTROLLING INTEREST RELATED TO ACQUISITION </span></span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 85%; margin-right: auto">
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Balance, December 31, 2022</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_989_eus-gaap--MinorityInterest_iS_c20230101__20230630__srt--OwnershipAxis__custom--MendotaLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_zTdWVGvNwkZc" style="text-align: right" title="Distribution to noncontrolling interests, Beginning balance"><span style="-sec-ix-hidden: xdx2ixbrl1661">-</span></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="width: 80%; padding-bottom: 1.5pt">Acquisition</td><td style="width: 2%; padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; width: 1%; text-align: left">&#160;</td><td id="xdx_985_eus-gaap--PaymentsToAcquireBusinessesAndInterestInAffiliates_c20230101__20230630__srt--OwnershipAxis__custom--MendotaLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_z5odYIPDKiBj" style="border-bottom: Black 1.5pt solid; width: 16%; text-align: right" title="Distribution to noncontrolling interests, Acquisition">200,000</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: 1.5pt">Balance, June 30, 2023</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td id="xdx_981_eus-gaap--MinorityInterest_iE_c20230101__20230630__srt--OwnershipAxis__custom--MendotaLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_zNhAftE5Et9j" style="border-bottom: Black 1.5pt solid; text-align: right" title="Distribution to noncontrolling interests, Ending balance">200,000</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  </table>

<p id="xdx_8A4_zdUhRUavJ7z9" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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_MinorityInterestDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for noncontrolling interest in consolidated subsidiaries, which could include the name of the subsidiary, the ownership percentage held by the parent, the ownership percentage held by the noncontrolling owners, the amount of the noncontrolling interest, the location of this amount on the balance sheet (when not reported separately), an explanation of the increase or decrease in the amount of the noncontrolling interest, the noncontrolling interest share of the net Income or Loss of the subsidiary, the location of this amount on the income statement (when not reported separately), the nature of the noncontrolling interest such as background information and terms, the amount of the noncontrolling interest represented by preferred stock, a description of the preferred stock, and the dividend requirements of the preferred stock.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 810<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//810/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_MinorityInterestDisclosureTextBlock</td>
</tr>
<tr>
<td style="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_NoncontrollingInterestAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NoncontrollingInterestAbstract</td>
</tr>
<tr>
<td style="padding-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>31
<FILENAME>R22.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/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.23.2</span><table class="report" border="0" cellspacing="2" id="idm139976175665712">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>SEGMENTED, SIGNIFICANT CUSTOMER INFORMATION AND ECONOMIC DEPENDENCY<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SegmentReportingAbstract', window );"><strong>Segment Reporting [Abstract]</strong></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="Show.showAR( this, 'defref_us-gaap_SegmentReportingDisclosureTextBlock', window );">SEGMENTED, SIGNIFICANT CUSTOMER INFORMATION AND ECONOMIC DEPENDENCY</a></td>
<td class="text"><p id="xdx_801_eus-gaap--SegmentReportingDisclosureTextBlock_zy6MyNQxIsU4" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b>16.
<span id="xdx_822_z6gjLJeIX63j">SEGMENTED, SIGNIFICANT CUSTOMER INFORMATION AND ECONOMIC DEPENDENCY</span></b></span><b><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">.</span></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company operates in <span id="xdx_902_eus-gaap--NumberOfOperatingSegments_dc_uSegments_c20230101__20230630_zXHpLJ035l0l" title="Number of operating segments">two</span> segments:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>(a)
</b>Energy and water conservation products (as shown under the column heading &#8220;EWCP&#8221; below), which consists of a (i) liquid
swimming pool blankets which save energy and water by inhibiting evaporation from the pool surface, and (ii) food-safe powdered form
of the active ingredient within the liquid blankets and which are designed to be used in still or slow moving drinking water sources.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>(b)
</b>Biodegradable polymers, also known as TPA&#8217;s (as shown under the column heading &#8220;BCPA&#8221; below), used by the petroleum,
chemical, utility and mining industries to prevent corrosion and scaling in water piping. This product can also be used in detergents
to increase biodegradability and in agriculture to increase crop yields by enhancing fertilizer uptake.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
third product line is nitrogen conservation products used for the agriculture industry. These products decrease the loss of nitrogen
fertilizer after initial application and allows less fertilizer to be used. These products are made and sold by the Company&#8217;s TPA
division.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
accounting policies of the segments are the same as those described in Note 2, <i>Significant Accounting Policies</i>. The Company evaluates
performance based on profit or loss from operations before income taxes, not including nonrecurring gains and losses and foreign exchange
gains and losses.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company&#8217;s reportable segments are strategic business units that offer different, but synergistic products and services. They are
managed separately because each business requires different technology and marketing strategies.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Three
months ended June 30, 2023:</span></p>

<p id="xdx_89A_eus-gaap--ReconciliationOfRevenueFromSegmentsToConsolidatedTextBlock_zB5lCpW4EKlj" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8BD_zgdwHgW2mvH6" style="display: none">SCHEDULE
OF REPORTABLE SEGMENTS</span></span><span style="font-family: Times New Roman, Times, Serif">&#160;</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 85%; margin-right: auto">
  <tr style="vertical-align: bottom">
    <td style="text-align: justify">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_49A_20230401__20230630__srt--ProductOrServiceAxis__custom--EWCPMember__us-gaap--StatementBusinessSegmentsAxis__custom--SegmentMember_zRldm77H4yCl" style="border-bottom: Black 1.5pt solid; text-align: center">EWCP</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_49C_20230401__20230630__srt--ProductOrServiceAxis__custom--TPAMember__us-gaap--StatementBusinessSegmentsAxis__custom--SegmentMember_zWqFGIuZ9vr8" style="border-bottom: Black 1.5pt solid; text-align: center">TPA</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_494_20230401__20230630__us-gaap--StatementBusinessSegmentsAxis__custom--SegmentMember_zmSxeg0g8uFb" style="border-bottom: Black 1.5pt solid; text-align: center">Total</td><td style="padding-bottom: 1.5pt">&#160;</td></tr>
  <tr id="xdx_409_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_zCUz2ARy1Yfj" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 46%; text-align: justify">Revenue</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right">220,602</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">10,100,689</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">10,331,291</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--InterestExpense_z4TQMxUzcfSe" style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">Interest expense</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1677">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">115,498</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">115,498</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_407_eus-gaap--DepreciationNonproduction_zRhlBiljm7d2" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Depreciation and amortization</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">4,440</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">381,951</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">386,390</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_402_eus-gaap--IncomeTaxExpenseBenefit_zz0sFjM07wWi" style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">Income tax expense</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">11,657</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">342,715</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">354,372</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--NetIncomeLoss_z0YI7fL9eQD8" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Segment profit (loss)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(41,262</td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">851,127</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">809,865</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_ecustom--SegmentAssets_z95Bf0eWpikc" style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">Segment assets</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">3,257,019</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">49,544,894</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">52,801,913</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_406_eus-gaap--PaymentsToAcquirePropertyPlantAndEquipment_iN_di_zlAFdNdRQyY7" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Expenditures for segment assets</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1697">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(3,571,133</td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(3,571,133</td><td style="text-align: left">)</td></tr>
  </table>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Three
months ended June 30, 2022:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><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: 85%; margin-right: auto">
  <tr style="vertical-align: bottom">
    <td style="text-align: justify">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_49E_20220401__20220630__srt--ProductOrServiceAxis__custom--EWCPMember__us-gaap--StatementBusinessSegmentsAxis__custom--SegmentMember_zWGo4XsGoDti" style="border-bottom: Black 1.5pt solid; text-align: center">EWCP</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_49D_20220401__20220630__srt--ProductOrServiceAxis__custom--TPAMember__us-gaap--StatementBusinessSegmentsAxis__custom--SegmentMember_zcuBR8xENAoh" style="border-bottom: Black 1.5pt solid; text-align: center">TPA</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_496_20220401__20220630__us-gaap--StatementBusinessSegmentsAxis__custom--SegmentMember_ziH6G9p4Jghj" style="border-bottom: Black 1.5pt solid; text-align: center">Total</td><td style="padding-bottom: 1.5pt">&#160;</td></tr>
  <tr id="xdx_409_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_zuBvAHhRt9q8" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 46%; text-align: justify">Revenue</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right">189,569</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">10,975,574</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">11,165,143</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--InterestExpense_z598TfuL9hT4" style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">Interest expense</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1705">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">52,139</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">52,139</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_407_eus-gaap--DepreciationNonproduction_zGCfYCmzE6Rf" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Depreciation and amortization</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">9,202</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">230,588</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">239,790</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_402_eus-gaap--IncomeTaxExpenseBenefit_z631UQSbBmPj" style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">Income tax expense</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">11,306</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">531,496</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">542,802</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--NetIncomeLoss_zj1uvWPGFNE3" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Segment profit (loss)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(84,564</td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">1,747,019</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">1,662,455</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_ecustom--SegmentAssets_zFvYsZFB9Ma" style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">Segment assets</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">2,386,338</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">45,168,719</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">47,555,057</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_406_eus-gaap--PaymentsToAcquirePropertyPlantAndEquipment_iN_di_zoWdJNx2zqqd" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Expenditures for segment assets</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1725">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(245,383</td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(245,383</td><td style="text-align: left">)</td></tr>
  </table>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Six
months ended June 30, 2023:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><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: 85%; margin-right: auto">
  <tr style="vertical-align: bottom">
    <td style="text-align: justify">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_49E_20230101__20230630__srt--ProductOrServiceAxis__custom--EWCPMember__us-gaap--StatementBusinessSegmentsAxis__custom--SegmentMember_zdHXUTfw7RUk" style="border-bottom: Black 1.5pt solid; text-align: center">EWCP</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_499_20230101__20230630__srt--ProductOrServiceAxis__custom--TPAMember__us-gaap--StatementBusinessSegmentsAxis__custom--SegmentMember_zkqUiQD3TN8j" style="border-bottom: Black 1.5pt solid; text-align: center">TPA</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_49F_20230101__20230630__us-gaap--StatementBusinessSegmentsAxis__custom--SegmentMember_z4mUmI6Ar6ve" style="border-bottom: Black 1.5pt solid; text-align: center">Total</td><td style="padding-bottom: 1.5pt">&#160;</td></tr>
  <tr id="xdx_409_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_zpfak6L3f418" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 46%; text-align: justify">Revenue</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right">301,262</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">19,877,546</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">20,178,808</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--InterestExpense_zZY0TNv7qMS8" style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">Interest expense</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1733">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">250,368</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">250,368</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_407_eus-gaap--DepreciationNonproduction_z8kCrmaUnSRh" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Depreciation and amortization</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">8,719</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">742,855</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">751,574</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_402_eus-gaap--IncomeTaxExpenseBenefit_z43hc7eNf4L2" style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">Income tax expense</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">12,571</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">641,578</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">654,149</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--NetIncomeLoss_zxnDC5RSvCu1" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Segment profit (loss)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(192,990</td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">1,887,224</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">1,694,234</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_ecustom--SegmentAssets_zVulLeMhxOX9" style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">Segment assets</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">3,257,019</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">49,544,894</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">52,801,913</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_406_eus-gaap--PaymentsToAcquirePropertyPlantAndEquipment_iN_di_zdMgP6ooqV3" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Expenditures for segment assets</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1753">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(3,784,193</td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(3,784,193</td><td style="text-align: left">)</td></tr>
  </table>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Six
months ended June 30, 2022:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><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: 85%; margin-right: auto">
  <tr style="vertical-align: bottom">
    <td style="text-align: justify">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_490_20220101__20220630__srt--ProductOrServiceAxis__custom--EWCPMember__us-gaap--StatementBusinessSegmentsAxis__custom--SegmentMember_zJImNPBsDdBg" style="border-bottom: Black 1.5pt solid; text-align: center">EWCP</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_491_20220101__20220630__srt--ProductOrServiceAxis__custom--TPAMember__us-gaap--StatementBusinessSegmentsAxis__custom--SegmentMember_z033hGIFvJ3k" style="border-bottom: Black 1.5pt solid; text-align: center">TPA</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_495_20220101__20220630__us-gaap--StatementBusinessSegmentsAxis__custom--SegmentMember_zsRbv7Sl9VHc" style="border-bottom: Black 1.5pt solid; text-align: center">Total</td><td style="padding-bottom: 1.5pt">&#160;</td></tr>
  <tr id="xdx_409_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_zgwFx06dhq08" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 46%; text-align: justify">Revenue</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right">236,822</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">21,711,601</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">21,948,423</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--InterestExpense_zpvUlGwNiRp7" style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">Interest expense</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1761">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">109,757</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">109,757</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_407_eus-gaap--DepreciationNonproduction_zdXc3qZp8h4d" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Depreciation and amortization</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">18,446</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">453,832</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">472,278</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_402_eus-gaap--IncomeTaxExpenseBenefit_zwMOTJMeqH1j" style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">Income tax expense</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">11,306</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">1,243,942</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">1,255,248</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--NetIncomeLoss_z2VM4KN29D5c" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Segment profit (loss)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(208,737</td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">3,404,251</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">3,195,514</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_ecustom--SegmentAssets_z6U7I5QK2YCa" style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">Segment assets</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">2,386,338</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">45,168,719</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">47,555,057</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_406_eus-gaap--PaymentsToAcquirePropertyPlantAndEquipment_iN_di_zScdJBUzD3M" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Expenditures for segment assets</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1781">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(422,067</td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(422,067</td><td style="text-align: left">)</td></tr>
  </table>

<p id="xdx_8A1_zBqBTKHL7ora" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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--ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock_zQBlM1SvLQA8" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.5in; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
sales generated in the United States and Canada are as follows:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.5in; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"></span><span style="display: none"><span id="xdx_8B3_zCxRdrHChQO">SCHEDULE OF REVENUE GENERATED IN UNITED STATES AND CANADA</span></span>&#160;</span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 75%; margin-right: auto">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_49E_20230101__20230630_zIn9CTbzLMd4" style="border-bottom: Black 1.5pt solid; text-align: center">Six months ended <br/> June 30, 2023</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_492_20220101__20220630_zZDt3iopyZqk" style="border-bottom: Black 1.5pt solid; text-align: center">Six months ended <br/> June 30, 2022</td><td style="padding-bottom: 1.5pt">&#160;</td></tr>
  <tr id="xdx_40E_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_hsrt--StatementGeographicalAxis__country--CA_zVRdumunHcEc" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 54%">Canada</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 18%; text-align: right">313,058</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: 20%; text-align: right">279,517</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_409_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_hsrt--StatementGeographicalAxis__custom--UnitedStatesandAbroadMember_zTq7tOWZlfyk" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1.5pt">United States and abroad</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">19,865,750</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">21,668,906</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_zEyMcFXoPmld" 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">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">20,178,808</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">21,948,423</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

<p id="xdx_8A4_zC96oAwc8XBl" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p id="xdx_897_eus-gaap--ScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock_z8mphhs4cuRa" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company&#8217;s long-lived assets (property, equipment, leaseholds, intangibles, goodwill and right of use
assets) are located in Canada and the United States as follows:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;<span style="display: none"><span id="xdx_8B0_zWHDJKbLcXB4">SCHEDULE OF LONG-LIVED ASSETS ARE LOCATED IN CANADA AND UNITED STATES</span></span></span></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; margin-left: auto; border-collapse: collapse; width: 75%; margin-right: auto">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_491_20230630_zhuiEjesy1M3" style="border-bottom: Black 1.5pt solid; text-align: center">June 30, 2023</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_495_20221231_z9xjpH3bPkc9" style="border-bottom: Black 1.5pt solid; text-align: center">December 31, 2022</td><td style="padding-bottom: 1.5pt">&#160;</td></tr>
  <tr id="xdx_409_eus-gaap--NoncurrentAssets_iI_hsrt--StatementGeographicalAxis__country--CA_zd7nh4WvtGhc" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 54%">Canada</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 18%; text-align: right">151,300</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: 20%; text-align: right">150,890</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_407_eus-gaap--NoncurrentAssets_iI_hsrt--StatementGeographicalAxis__country--US_zVyFuaBS5pol" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1.5pt">United States</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">17,706,417</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">14,699,896</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_40A_eus-gaap--NoncurrentAssets_iI_zSBMke8xSs0k" 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">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">17,857,717</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">14,850,786</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

<p id="xdx_8AA_zXlTBUmJco6g" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Three
primary customers accounted for $<span id="xdx_908_eus-gaap--AccountsReceivableNet_iI_c20230630__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember__srt--MajorCustomersAxis__custom--ThreeCustomersMember_zkXxfoi7wjc2" title="Accounts receivable, after allowance for credit loss">10,681,892</span> (<span id="xdx_905_ecustom--StockOptionExercisePercent_pid_dp_uPure_c20230101__20230630__srt--MajorCustomersAxis__custom--ThreeCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember_znQYjkEoufnf" title="Stock option exercise percent">53</span>%) of sales during the six month period ended June 30, 2023 (2022 - $<span id="xdx_90E_eus-gaap--AccountsReceivableNet_iI_c20220630__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember__srt--MajorCustomersAxis__custom--ThreeCustomersMember_zO3uhZoWjvM1" title="Accounts receivable, after allowance for credit loss">11,597,726</span> or <span id="xdx_907_ecustom--StockOptionExercisePercent_pid_dp_uPure_c20220101__20220630__srt--MajorCustomersAxis__custom--ThreeCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember_zhrgyhDUS06c" title="Stock option exercise percent">53</span>%).</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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_SegmentReportingAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SegmentReportingAbstract</td>
</tr>
<tr>
<td style="padding-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_SegmentReportingDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for reporting segments including data and tables. Reportable segments include those that meet any of the following quantitative thresholds a) it's reported revenue, including sales to external customers and intersegment sales or transfers is 10 percent or more of the combined revenue, internal and external, of all operating segments b) the absolute amount of its reported profit or loss is 10 percent or more of the greater, in absolute amount of 1) the combined reported profit of all operating segments that did not report a loss or 2) the combined reported loss of all operating segments that did report a loss c) its assets are 10 percent or more of the combined assets of all operating segments.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 15<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-15<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 42<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-42<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-40<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//280/tableOfContent<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 26<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-26<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 34<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-34<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 41<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-41<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 21<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-21<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 21<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-21<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SegmentReportingDisclosureTextBlock</td>
</tr>
<tr>
<td style="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>R23.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/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.23.2</span><table class="report" border="0" cellspacing="2" id="idm139976175705392">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>COMPARATIVE FIGURES<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_FSI_DisclosureComparativeFiguresAbstract', window );"><strong>Comparative Figures</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="Show.showAR( this, 'defref_FSI_ComparativeFiguresTextBlock', window );">COMPARATIVE FIGURES</a></td>
<td class="text"><p id="xdx_800_ecustom--ComparativeFiguresTextBlock_zANrL3drEPkj" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b>17.
<span id="xdx_827_zHJtXtwKdB21">COMPARATIVE FIGURES</span></b></span><b><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">.</span></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Certain
of the comparative figures have been reclassified to conform with the current period&#8217;s presentation.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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_FSI_ComparativeFiguresTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Comparative Figures [Text Block]</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">FSI_ComparativeFiguresTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</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_FSI_DisclosureComparativeFiguresAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">FSI_DisclosureComparativeFiguresAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</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>33
<FILENAME>R24.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/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.23.2</span><table class="report" border="0" cellspacing="2" id="idm139976176662992">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>SUBSEQUENT EVENTS<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="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" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SubsequentEventsTextBlock', window );">SUBSEQUENT EVENTS</a></td>
<td class="text"><p id="xdx_800_eus-gaap--SubsequentEventsTextBlock_zrG2VE9C9Xo" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b>18.
<span id="xdx_823_zjxgKo0ff70f">SUBSEQUENT EVENTS</span>.</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">None.</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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 855<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//855/tableOfContent<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 855<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483399/855-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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>34
<FILENAME>R25.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/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.23.2</span><table class="report" border="0" cellspacing="2" id="idm139976171774352">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>SIGNIFICANT ACCOUNTING POLICIES (Policies)<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="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" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsPolicyTextBlock', window );">Cash and Cash Equivalents</a></td>
<td class="text"><p id="xdx_842_eus-gaap--CashAndCashEquivalentsPolicyTextBlock_zicM2NylsROb" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(a)
<i><span id="xdx_86D_zMrmZPxeghyd">Cash and Cash Equivalents</span></i>.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company considers all highly liquid investments purchased with an original or remaining maturity of less than three months at the date
of purchase to be cash equivalents. Cash and cash equivalents are maintained with several financial institutions.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_FSI_TermDepositsPolicyTextBlock', window );">Term Deposits</a></td>
<td class="text"><p id="xdx_84E_ecustom--TermDepositsPolicyTextBlock_zjbKP8uY4eng" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(b)
<i><span id="xdx_865_zmJ6QuodZ3S5">Term Deposits</span>.</i></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
deposits maintained by the Company with banks comprises term deposits. The Company has two term deposits, the first for $<span id="xdx_904_eus-gaap--Deposits_iI_c20230630_zkqkytE7m8Ce" title="Deposit">700,000</span> that
matures in 2023 and pays interest at a rate of <span id="xdx_90A_eus-gaap--PercentageOfInterestBearingDomesticDepositsToDepositsTimeDeposits_iI_pid_dp_uPure_c20230630_zFSqni8Ckcm" title="Term deposits percent">8.25</span>%. If withdrawn before maturity, the greater of the loss of accrued interest or $<span id="xdx_90D_eus-gaap--InterestPayableCurrentAndNoncurrent_iI_c20230630_z8sLaxM5cSig" title="Accured interest">150</span>,
plus 1% of the principal shall be levied. The second term deposit for $<span id="xdx_902_ecustom--OtherTermDeposit_iI_c20230630_zU62d90BQ9Fj" title="Other term deposit">300,000</span> pays 1.3% interest, matures in 2023 and can be withdrawn
by the Company at any point without prior notice or penalty on the principal.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryPolicyTextBlock', window );">Inventories and Cost of Sales.</a></td>
<td class="text"><p id="xdx_84C_eus-gaap--InventoryPolicyTextBlock_zpblHmJSuGpk" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(c)
<i><span id="xdx_864_ztrwkG422oTe">Inventories and Cost of Sales.</span></i></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company has three major classes of inventory: completed goods, work in progress and raw materials and supplies. In all classes inventories
are stated at the lower of cost and net realizable value. Cost is determined on a first-in, first-out basis or weighted average cost
formula to inventories in different subsidiaries. Cost of sales includes all expenditures incurred in bringing the goods to the point
of sale. Inventory costs and costs of sales include direct costs of the raw material, inbound freight charges, warehousing costs, handling
costs (receiving and purchasing) and utilities and overhead expenses related to the Company&#8217;s manufacturing and processing facilities.
Shipping and handling charges billed to customers are included in revenue (2023 - $<span id="xdx_906_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20230630__srt--ProductOrServiceAxis__us-gaap--ShippingAndHandlingMember_zyTno39YuTAf" title="Sales">286,290</span>; 2022 - $<span id="xdx_90A_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20220630__srt--ProductOrServiceAxis__us-gaap--ShippingAndHandlingMember_zlEPAGPnoS4k" title="Sales">231,106</span>). Shipping and handling costs
incurred are included in cost of goods sold (2023 - $<span id="xdx_904_eus-gaap--CostOfGoodsAndServicesSold_pp0p0_c20230101__20230630__srt--ProductOrServiceAxis__us-gaap--ShippingAndHandlingMember_zKm6msWmGYra" title="Cost of sales">542,321</span>; 2022 - $<span id="xdx_904_eus-gaap--CostOfGoodsAndServicesSold_pp0p0_c20220101__20220630__srt--ProductOrServiceAxis__us-gaap--ShippingAndHandlingMember_zxZOOAkukJS9" title="Cost of sales">580,697</span>).</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><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" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PremiumsReceivableAllowanceForDoubtfulAccountsEstimationMethodologyPolicy', window );">Allowance for Doubtful Accounts.</a></td>
<td class="text"><p id="xdx_84D_eus-gaap--PremiumsReceivableAllowanceForDoubtfulAccountsEstimationMethodologyPolicy_zdssy62Wwhe5" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(d)
<i><span id="xdx_869_zhai0jNlTp2g">Allowance for Doubtful Accounts.</span></i></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company provides an allowance for doubtful accounts when management estimates collectability to be uncertain. Accounts receivable are
continually reviewed to determine which, if any, accounts are doubtful of collection. In making the determination of the appropriate
allowance amount, the Company considers current economic and industry conditions, relationships with each significant customer, overall
customer credit-worthiness and historical experience.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentPolicyTextBlock', window );">Property, Equipment, Leaseholds and Intangible Assets</a></td>
<td class="text"><p id="xdx_843_eus-gaap--PropertyPlantAndEquipmentPolicyTextBlock_z5EGEbnXvXyl" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(e)
<i><span id="xdx_867_zof3ODUmIhkd">Property, Equipment, Leaseholds and Intangible Assets</span>.</i></span></p>

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

<p id="xdx_898_ecustom--ScheduleOfMethodOfDepreciationTableTextBlock_zIliTOh5Ygle" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
following assets are recorded at cost and depreciated using the methods and annual rates shown below:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;<span id="xdx_8B4_z11MQ97gvW02" style="display: none; font-family: Times New Roman, Times, Serif; font-size: 10pt">SCHEDULE
OF METHOD OF DEPRECIATION</span></span></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; width: 100%; border-collapse: collapse">
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="width: 10%">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 40%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Computer
    hardware</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: 48%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_907_ecustom--DepreciationMethodUsedAndAnnualRate_c20230101__20230630__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--ComputerEquipmentMember_zzenDHYhcKT9" title="Depreciation method used and annual rate">30%
    Declining balance</span></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td>&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Manufacturing
    equipment</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><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"><span id="xdx_909_ecustom--DepreciationMethodUsedAndAnnualRate_c20230101__20230630__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--MachineryAndEquipmentMember_zHhhXvUgBhEd" title="Depreciation method used and annual rate">20%
    Declining balance</span></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td>&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Office
    equipment</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><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"><span id="xdx_902_ecustom--DepreciationMethodUsedAndAnnualRate_c20230101__20230630__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--OfficeEquipmentMember_zTzepZMin8gj" title="Depreciation method used and annual rate">20%
    Declining balance</span></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td>&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Boat</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><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"><span id="xdx_908_ecustom--DepreciationMethodUsedAndAnnualRate_c20230101__20230630__us-gaap--PropertyPlantAndEquipmentByTypeAxis__custom--BoatMember_zbY0Kquh1Pue" title="Depreciation method used and annual rate">20%
    Declining balance</span></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td>&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Building
    and improvements</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><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"><span id="xdx_902_ecustom--DepreciationMethodUsedAndAnnualRate_c20230101__20230630__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--BuildingAndBuildingImprovementsMember_zKSxdAAV8Hdj" title="Depreciation method used and annual rate">10%
    Declining balance</span></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td>&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Trailer</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><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"><span id="xdx_902_ecustom--DepreciationMethodUsedAndAnnualRate_c20230101__20230630__us-gaap--PropertyPlantAndEquipmentByTypeAxis__custom--TrailerMember_zMtKVexsDpOc" title="Depreciation method used and annual rate">30%
    Declining balance</span></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td>&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Automobiles</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><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"><span id="xdx_90E_ecustom--DepreciationMethodUsedAndAnnualRate_c20230101__20230630__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--AutomobilesMember_ziFvXYKfETj1" title="Depreciation method used and annual rate">Straight-line
    over 5 years</span></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td>&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Patents</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><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"><span id="xdx_907_ecustom--DepreciationMethodUsedAndAnnualRate_c20230101__20230630__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--PatentsMember_z3p0DvDLQby6" title="Depreciation method used and annual rate">Straight-line
    over 17 years</span></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td>&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Technology</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><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"><span id="xdx_907_ecustom--DepreciationMethodUsedAndAnnualRate_c20230101__20230630__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--TechnologyEquipmentMember_zoVne9r8J25l" title="Depreciation method used and annual rate">Straight-line
    over 10 years</span></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td>&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Leasehold
    improvements</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><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"><span id="xdx_90B_ecustom--DepreciationMethodUsedAndAnnualRate_c20230101__20230630__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--LeaseholdImprovementsMember_z9pVdLIoLHca" title="Depreciation method used and annual rate">Straight-line
    over lease term</span></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td>&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Customer
    relationships </span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><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"><span id="xdx_90F_ecustom--DepreciationMethodUsedAndAnnualRate_c20230101__20230630__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--CustomerRelationshipsMember_z0BOVEoyXCHd" title="Depreciation method used and annual rate">Straight-line
    over 15 years</span></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td>&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Software
    </span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><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"><span id="xdx_90D_ecustom--DepreciationMethodUsedAndAnnualRate_c20230101__20230630__us-gaap--PropertyPlantAndEquipmentByTypeAxis__custom--SoftwareMember_zDcmxHehpbL9" title="Depreciation method used and annual rate">Straight-line
    over 3 years</span></span></td></tr>
  </table>
<p id="xdx_8A0_zSsBvSa3h8bh" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; 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; text-align: center; margin-top: 0pt; margin-bottom: 0pt"><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" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock', window );">Impairment of Long-Lived Assets</a></td>
<td class="text"><p id="xdx_843_eus-gaap--ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock_zPRp3higDPWf" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(f)
<i><span id="xdx_861_zj2qqQc3X2Jf">Impairment of Long-Lived Assets</span></i>.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; 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: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
accordance with FASB Codification Topic 360, <i>Property, Plant and Equipment</i> (ASC 360), the Company reviews long-lived assets, including,
but not limited to, property, equipment and leaseholds, patents and other assets, for impairment annually or whenever events or changes
in circumstances indicate the carrying amounts of assets may not be recoverable. The carrying value of long-lived assets is assessed
for impairment by evaluating operating performance and future undiscounted cash flows of the underlying assets. If the expected future
cash flows of an asset is less than its carrying value, an impairment measurement is indicated. Impairment charges are recorded to the
extent that an asset&#8217;s carrying value exceeds its fair value. Accordingly, actual results could vary significantly from such estimates.
There were no impairment charges during the periods presented.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock', window );">Foreign Currency</a></td>
<td class="text"><p id="xdx_847_eus-gaap--ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock_zBpveqFDNBP7" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(g)
<i><span id="xdx_860_zCUfYVAKciR8">Foreign Currency</span></i>.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
functional currency of the Company is the U.S. dollar. The functional currency of three of the Company&#8217;s subsidiaries is the Canadian
dollar. The translation of the Canadian dollar to the reporting currency of the Company, the U.S. dollar, is performed for assets and
liabilities using exchange rates in effect at the balance sheet date. Revenue and expense transactions are translated using average exchange
rates prevailing during the year. Translation adjustments arising on conversion of the Company&#8217;s financial statements from the
subsidiary&#8217;s functional currency, Canadian dollars, into the reporting currency, U.S. dollars, are excluded from the determination
of income (loss) and are disclosed as other comprehensive income in the consolidated statements of income and comprehensive income.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Foreign
exchange gains and losses relating to transactions not denominated in the applicable local currency are included in operating income
(loss) if realized during the year and in comprehensive income (loss) if they remain unrealized at the end of the year.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.5in; 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" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerPolicyTextBlock', window );">Revenue Recognition.</a></td>
<td class="text"><p id="xdx_840_eus-gaap--RevenueFromContractWithCustomerPolicyTextBlock_zFz0R1K6izM" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.5in; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(h)
<i><span id="xdx_862_z7NhCdkq84Hi">Revenue Recognition.</span></i></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 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 generates revenue primarily from energy and water conservation products and biodegradable polymers, as further discussed in Note
16.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company follows a five-step model for revenue recognition. The five steps are: (1) identification of the contract(s) with the customer,
(2) identification of the performance obligation(s) in the contract(s), (3) determination of the transaction price, (4) allocation of
the transaction price to the performance obligation, and (5) recognition of revenue when (or as) the performance obligation is satisfied.
The Company has fulfilled its performance obligations when control transfers to the customer, which is generally at the time the product
is shipped since risk of loss is transferred to the purchaser upon delivery to the carrier. For shipments which are free-on-board shipping
point, the Company has elected to account for shipping and handling activities as a fulfillment cost rather than as an additional promised
service and performance obligation.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Since
the Company&#8217;s inception, product returns have been insignificant; therefore, no provision has been established for estimated product
returns.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Deferred
revenues consist of products sold to distributors with payment terms greater than the Company&#8217;s customary business terms due to
lack of credit history or operating in a new market in which the Company has no prior experience. The Company defers the recognition
of revenue until the criteria for revenue recognition has been met and payments become due or cash is received from these distributors.</span></p>

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




<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><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="Show.showAR( this, 'defref_FSI_StockIssuedInExchangeForServicesPolicyTextBlock', window );">Stock Issued in Exchange for Services</a></td>
<td class="text"><p id="xdx_848_ecustom--StockIssuedInExchangeForServicesPolicyTextBlock_zCmWsGLmNvY" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(i)
<i><span id="xdx_86D_zH563OXQ0iJ4">Stock Issued in Exchange for Services</span></i>.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company&#8217;s common stock issued in exchange for services is valued at estimated fair market value based upon trading prices of the
Company&#8217;s common stock on the dates of the stock transactions. The corresponding expense of the services rendered is recognized
over the period that the services are performed.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CompensationRelatedCostsPolicyTextBlock', window );">Stock-based Compensation</a></td>
<td class="text"><p id="xdx_84F_eus-gaap--CompensationRelatedCostsPolicyTextBlock_z2ERp5T8hgjl" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(j)
<i><span id="xdx_86C_zn6bXkTxBiq5">Stock-based Compensation</span></i>.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 24.5pt; 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: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company recognizes compensation expense for all share-based payments in accordance with FASB Codification Topic 718, <i>Compensation
&#8212; Stock Compensation</i>, (ASC 718). Under the fair value recognition provisions of ASC 718, the Company recognizes share-based
compensation expense, net of an estimated forfeiture rate, over the requisite service period of the award.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 24.5pt; 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: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
fair value at grant date of stock options is estimated using the Black-Scholes option-pricing model. Compensation expense is recognized
on a straight-line basis over the stock option vesting period based on the estimated number of stock options that are expected to vest.
Shares are issued from treasury upon exercise of stock options.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 24.5pt; background-color: white"><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" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ComprehensiveIncomePolicyPolicyTextBlock', window );">Other Comprehensive Income.</a></td>
<td class="text"><p id="xdx_84C_eus-gaap--ComprehensiveIncomePolicyPolicyTextBlock_zDk1v9z4Uz5j" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(k)
<i><span id="xdx_860_z5EomrFKkaO9">Other Comprehensive Income.</span></i></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Other
comprehensive income refers to revenues, expenses, gains and losses that under generally accepted accounting principles are included
in comprehensive income, but are excluded from net income as these amounts are recorded directly as an adjustment to stockholders&#8217;
equity. The Company&#8217;s other comprehensive income is comprised only of unrealized foreign exchange gains and losses related to the
translation of subsidiaries&#8217; functional currency into the reporting currency.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerSharePolicyTextBlock', window );">Income Per Share</a></td>
<td class="text"><p id="xdx_846_eus-gaap--EarningsPerSharePolicyTextBlock_zvNo8iUXaXki" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(l)
<i><span id="xdx_869_zim0lqZ5XIdl">Income Per Share</span>.</i></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Basic
earnings per share is computed by dividing income available to common stockholders by the weighted average number of common shares outstanding
in the period. Diluted earnings per share are calculated giving effect to the potential dilution of the exercise of options and warrants.
Common equivalent shares, composed of incremental common shares issuable upon the exercise of stock options and warrants are included
in diluted net income per share to the extent that these shares are dilutive. Common equivalent shares that have an anti-dilutive effect
on net income per share have been excluded from the calculation of diluted weighted average shares outstanding for the three and six
months ended June 30, 2023 and 2022.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><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" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_UseOfEstimates', window );">Use of Estimates.</a></td>
<td class="text"><p id="xdx_849_eus-gaap--UseOfEstimates_zcJACtrW8331" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.5in; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(m)
<i><span id="xdx_869_zT5ePs7SEDc3">Use of Estimates.</span></i></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
preparation of consolidated financial statements in conformity with accounting principles generally accepted in the United States requires
management to make estimates and assumptions that affect the reported amounts of assets and liabilities at the date of the consolidated
financial statements and the reported amounts of revenues and expenses during the reporting period. Actual results could differ from
those estimates and would impact the results of operations and cash flows.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 35.45pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Estimates
and underlying assumptions are reviewed at each period end. Revisions to accounting estimates are recognized in the period in which the
estimates are revised and in any future periods affected.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 35.45pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Significant
areas requiring the use of management estimates include assumptions and estimates relating to the valuation of goodwill and intangible
assets, share-based payments, valuation allowances for deferred income tax assets, determination of useful lives of property, equipment
and leaseholds and intangible assets, recoverability of accounts receivable, recoverability of investments and the valuation of inventory.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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; text-align: center; margin-top: 0pt; margin-bottom: 0pt"><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" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueOfFinancialInstrumentsPolicy', window );">Fair Value of Financial Instruments</a></td>
<td class="text"><p id="xdx_845_eus-gaap--FairValueOfFinancialInstrumentsPolicy_zH5kLuMo83B" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(n)
<i><span id="xdx_863_zPsWmghCC2ja">Fair Value of Financial Instruments</span>.</i></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Fair
value is defined as the exchange price that would be received for an asset or paid to transfer a liability (an exit price) in the principal
or most advantageous market for the asset or liability in an orderly transaction between market participants on the measurement date.
Valuation techniques used to measure fair value must maximize the use of observable inputs and minimize the use of unobservable inputs.
The standard describes a fair value hierarchy based on three levels of inputs described below, of which the first two are considered
observable and the last unobservable, that may be used to measure fair value.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0pt; margin-bottom: 0pt"><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; 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">Level
    1 &#8211; Quoted prices in active markets for identical assets or liabilities.</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">Level
    2 &#8211; Inputs other than Level 1 that are observable, either directly or indirectly, such as quoted prices for similar assets
    or liabilities; quoted prices in markets that are not active; or other inputs that are observable or can be corroborated by observable
    market data for substantially the full term of the assets or liabilities.</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">Level
    3 &#8212; Unobservable inputs that are supported by little or no market activity which is significant to the fair value of the assets
    or liabilities.</span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
fair values of cash and cash equivalents, term deposits, accounts receivable, accounts payable, accrued liabilities and the short term
line of credit for all periods presented approximate their respective carrying amounts due to the short term nature of these financial
instruments.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 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 long term debt for all periods presented approximate their respective carrying amounts due to these financial instruments
being at market rates.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><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" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommitmentsAndContingenciesPolicyTextBlock', window );">Contingencies</a></td>
<td class="text"><p id="xdx_84D_eus-gaap--CommitmentsAndContingenciesPolicyTextBlock_zLMTXLDNma3k" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(o)
<i><span id="xdx_868_zDelOyyEutx1">Contingencies</span>.</i></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Certain
conditions may exist as of the date the consolidated financial statements are issued which may result in a loss to the Company but which
will only be resolved when one or more future events occur or fail to occur. The Company&#8217;s management and its legal counsel assess
such contingent liabilities, and such assessment inherently involves an exercise of judgment. In assessing loss contingencies related
to legal proceedings that are pending against the Company or unasserted claims that may result in such proceedings, the Company&#8217;s
legal counsel evaluates the perceived merits of any legal proceedings or unasserted claims as well as the perceived merits of the amount
of relief sought or expected to be sought therein.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">If
the assessment of a contingency indicates that it is probable that a material loss has been incurred and the amount of the liability
can be estimated, the estimated liability would be accrued in the Company&#8217;s consolidated financial statements. If the assessment
indicates that a potential material loss contingency is not probable, but is reasonably possible, or is probable but cannot be estimated,
then the nature of the contingent liability, together with an estimate of the range of possible loss if determinable and material, would
be disclosed.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Loss
contingencies considered remote are generally not disclosed unless they involve guarantees, in which case the guarantees would be disclosed.
Legal fees associated with loss contingencies are expensed as incurred. The Company is not aware of any contingencies at the date of
these consolidated financial statements.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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>

<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxPolicyTextBlock', window );">Income Taxes</a></td>
<td class="text"><p id="xdx_845_eus-gaap--IncomeTaxPolicyTextBlock_z61vZEOqc6jg" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(p)
<i><span id="xdx_869_zcjjbub01APc">Income Taxes</span>.</i></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Income
taxes are computed by multiplying the Company&#8217;s taxable net income by the Company&#8217;s effective tax rates. Deferred income
tax assets and liabilities are recognized for the future tax consequences attributable to differences between the consolidated financial
statement carrying amounts of existing assets and liabilities and their respective tax bases, and operating loss carry-forwards, if any.
Deferred income tax assets and liabilities are measured using enacted tax rates expected to apply to taxable income in the years in which
those temporary differences are expected to be recovered or settled. The effect on deferred income tax assets and liabilities of a change
in tax rates is recognized in income in the period that includes the enactment date. A valuation allowance is provided to reduce the
carrying amount of deferred income tax assets if it is considered more likely than not that some portion, or all, of the deferred income
tax assets will not be realized.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
accordance with FASB Codification Topic 740, <i>Income taxes</i> (ASC 740) under the liability method, it is the Company&#8217;s policy
to provide for uncertain tax positions and the related interest and penalties based upon management&#8217;s assessment of whether a tax
benefit is more likely than not to be sustained upon examination by tax authorities. At June 30, 2023, the Company believes it has appropriately
accounted for any unrecognized tax benefits. To the extent the Company prevails in matters for which a liability for an unrecognized
benefit is established or is required to pay amounts in excess of the liability, the Company&#8217;s effective tax rate in a given financial
statement period may be affected. Interest and penalties associated with the Company&#8217;s tax positions are recorded as interest expense
in the consolidated statements of income and comprehensive income.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0"><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" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskCreditRisk', window );">Risk Management.</a></td>
<td class="text"><p id="xdx_849_eus-gaap--ConcentrationRiskCreditRisk_zzImRoLmQdSh" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(q)
<i><span id="xdx_86C_zIRepckk0Vpl">Risk Management.</span></i></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company&#8217;s credit risk is primarily attributable to its accounts receivable. The amounts presented in the accompanying consolidated
balance sheets are net of allowances for doubtful accounts, estimated by the Company&#8217;s management based on prior experience and
the current economic environment. The Company is exposed to credit-related losses in the event of non-payment by customers. Credit exposure
is minimized by dealing with only credit worthy counterparties. Revenue for the Company&#8217;s three primary customers totaled $<span id="xdx_90D_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20230630__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember_zan1OLXvvS74" title="Sales">10,681,892</span>
(<span id="xdx_90A_ecustom--ConcentrationRiskThresholdPercentage_pid_dp_uPure_c20230101__20230630__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerMember_zQWA5VX7dR9h" title="Accounts receivable, after allowance for credit loss">53</span>%) for the six months ended June 30, 2023 (2022 - $<span id="xdx_90E_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20220630__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember_z5fdje7AYUl1" title="Sales">11,597,726</span> or <span id="xdx_900_ecustom--ConcentrationRiskThresholdPercentage_pid_dp_uPure_c20220101__20220630__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerMember_zQxu9q6B7RRc" title="Accounts receivable, after allowance for credit loss">53</span>%) and $<span id="xdx_90F_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230401__20230630__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember_zilfrplLbbUk" title="Sales">5,172,025&#160;</span>(<span id="xdx_90A_ecustom--ConcentrationRiskThresholdPercentage_pid_dp_uPure_c20230401__20230630__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerMember_z6KdwLyJIrLh" title="Accounts receivable, after allowance for credit loss">50</span>%) for the three months ended June 30, 2023
(2022 - $<span id="xdx_909_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220401__20220630__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember_zk6ZdnpA6rY7" title="Sales">5,889,266</span> or <span id="xdx_901_ecustom--ConcentrationRiskThresholdPercentage_pid_dp_uPure_c20220401__20220630__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerMember_zvbW80WC8G9f" title="Accounts receivable, after allowance for credit loss">53</span>%). Accounts receivable for the Company&#8217;s three primary customers for the six months ended June 30, 2023
totaled $<span id="xdx_90B_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20230630__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember_zt5dYTwCWpP8" title="Sale">3,277,945</span> or <span id="xdx_900_ecustom--ConcentrationRiskThresholdPercentage_pid_dp_uPure_c20230101__20230630__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember_zizkdawPqjmi" title="Accounts receivable, after allowance for credit loss, percentage">44</span>% (2022 - $<span id="xdx_902_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20220101__20220630__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember_zrCs1sJie0u5" title="Sale">2,409,089</span> or <span id="xdx_90A_ecustom--ConcentrationRiskThresholdPercentage_pid_dp_uPure_c20220101__20220630__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember_zP4QXcn2jBpk" title="Accounts receivable, after allowance for credit loss, percentage">36</span>%). Accounts receivable for the Company&#8217;s three primary customers for the three
months ended June 30, 2023 totaled $<span id="xdx_90A_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230401__20230630__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember_zvo88YT9n86c" title="Sale">4,172,657</span> or <span id="xdx_90E_ecustom--ConcentrationRiskThresholdPercentage_pid_dp_uPure_c20230401__20230630__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember_zbSli9gisF5f" title="Accounts receivable, after allowance for credit loss, percentage">56</span>% (2022 - $<span id="xdx_906_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220401__20220630__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember_z9N9wapayLA6" title="Sale">2,409,089</span> or <span id="xdx_90A_ecustom--ConcentrationRiskThresholdPercentage_pid_dp_uPure_c20220401__20220630__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember_z2GGyioJVXV3" title="Accounts receivable, after allowance for credit loss, percentage">36</span>%; December 31, 2022 - $<span id="xdx_902_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember_zldvJJL7azt3" title="Sale">6,124,424</span> or <span id="xdx_90B_ecustom--ConcentrationRiskThresholdPercentage_pid_dp_uPure_c20220101__20221231__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember_zmZvKWR1Uqh9" title="Accounts receivable, after allowance for credit loss, percentage">65</span>%).</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
credit risk on cash is limited because the Company limits its exposure to credit loss by placing its cash with major financial institutions.
The Company maintains cash balances at financial institutions which at times exceed federally insured amounts. The Company has not experienced
any losses in such accounts.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company is exposed to foreign exchange and interest rate risk to the extent that market value rate fluctuations materially differ from
financial assets and liabilities, subject to fixed long-term rates.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
order to manage its exposure to foreign exchange risks, the Company is closely monitoring the fluctuations in the foreign currency exchange
rates and the impact on the value of cash, accounts receivable, and accounts payable and accrued liabilities. The Company has not hedged
its exposure to currency fluctuations.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company is exposed to interest rate risk to the extent that the fair value or future cash flows for financial liabilities will fluctuate
as a result of changes in market interest rates. The Company is exposed to interest rate risk on its long-term debt.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
order to manage its exposure to interest rate risk, the Company is closely monitoring fluctuations in market interest risks and will
refinance its long-term debt where possible to obtain more favourable rates.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EquityMethodInvestmentsPolicy', window );">Equity Method Investment.</a></td>
<td class="text"><p id="xdx_84F_eus-gaap--EquityMethodInvestmentsPolicy_zLUSETl658Ee" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(r)
<i><span id="xdx_861_zgKptDXSxFK">Equity Method Investment.</span></i></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company accounts for investments using the equity method of accounting if the investment provides the Company the ability to exercise
significant influence, but not control, over the investee. <span id="xdx_900_eus-gaap--EquityMethodInvestmentDescriptionOfPrincipalActivities_c20230101__20230630__srt--ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis__custom--InvestmentMember_zsVaZZxQbI3f" title="Equity method investment, description">Significant influence is generally deemed to exist if the Company&#8217;s
ownership interest in the voting stock of the investee ranges between 20% and 50%, although other factors, such as representation on
the investee&#8217;s board of directors, are considered in determining whether the equity method of accounting is appropriate</span>. Under
the equity method of accounting, the investment is initially recorded at cost in the consolidated balance sheets under other assets and
adjusted for dividends received and the Company&#8217;s share of the investee&#8217;s earnings or losses together with other-than-temporary
impairments which are recorded through other income (loss), net in the consolidated statements of income and comprehensive income.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 24.5pt; background-color: white"><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" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock', window );">Goodwill and Intangible Assets</a></td>
<td class="text"><p id="xdx_848_eus-gaap--GoodwillAndIntangibleAssetsPolicyTextBlock_zrNQ6pSPkCh8" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(s)
<i><span id="xdx_869_zKzXQcq1Vgzd">Goodwill and Intangible Assets</span>.</i></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Goodwill
represents the excess of the purchase price of an acquired entity over the amounts assigned to the assets acquired and liabilities assumed.
Goodwill is not amortized, but is reviewed for impairment annually or more frequently if certain impairment conditions arise. The Company
performs an annual goodwill impairment review in the fourth quarter of each year at the reporting unit level. The evaluation begins with
a qualitative assessment of the factors that could impact the significant inputs used to estimate fair value. If after performing the
qualitative assessment, it is determined that it is more likely than not that the fair value of a reporting unit is greater than its
carrying amount, including goodwill, then no further analysis is necessary. However, if the results of the qualitative test are unclear,
the Company performs a quantitative test, which involves comparing the fair value of a reporting unit with its carrying amount, including
goodwill. The Company uses an income-based valuation method, determining the present value of future cash flows, to estimate the fair
value of a reporting unit. If the fair value of a reporting unit exceeds its carrying amount, goodwill of the reporting unit is considered
not impaired, and no further analysis is necessary. If the fair value of the reporting unit is less than its carrying amount, goodwill
impairment would be recognized equal to the amount of the carrying value in excess of the reporting unit&#8217;s fair value, limited
to the total amount of goodwill allocated to the reporting unit.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Intangible
assets primarily include trademarks and trade secrets with indefinite lives and customer-relationships with finite lives. Intangible
assets with indefinite lives are not amortized but are tested for impairment on an annual basis, or more frequently if indicators of
impairment are present. Indefinite lived intangible assets are assessed using either a qualitative or a quantitative approach. The qualitative
assessment evaluates factors including macro-economic conditions, industry and company-specific factors, legal and regulatory environments,
and historical company performance in assessing fair value. If it is determined that it is more likely than not that the fair value of
the intangible asset is less than its carrying value, a quantitative test is then performed. Otherwise, no further testing is required.
When using a quantitative approach, the Company compares the fair value of the intangible asset to its carrying amount. If the estimated
fair value of the intangible asset is less than the carrying amount of the intangible asset, impairment is indicated, requiring recognition
of an impairment charge for the differential.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
accordance with FASB Codification Topic 350, <i>Intangibles &#8211; Goodwill and Other, </i>(ASC 350), qualitative assessments of goodwill
and indefinite-lived intangible assets were performed at December 31, 2022. Based on the results of the assessment, it was determined
that it is more likely than not the reporting unit, customer lists and trademarks had a fair value in excess of their carrying amounts.
Accordingly, no further impairment testing was completed and no impairment charges related to goodwill or indefinite-lived intangibles
were recognized during the three or six months ended June 30, 2023.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Finite-lived
intangible assets are amortized on a straight-line basis over their estimated useful lives. The Company reviews for impairment indicators
of finite-lived intangibles and other long-lived assets as described in the &#8220;Impairment of Long Lived Assets&#8221; significant
accounting policy.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock', window );">Recent Accounting Pronouncements.</a></td>
<td class="text"><p id="xdx_846_eus-gaap--NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock_zV4jkrQPosRb" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 24.5pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(t)
<i><span id="xdx_86F_zn002KrZiInj">Recent Accounting Pronouncements.</span></i></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company has implemented all applicable new accounting pronouncements that are in effect. Those pronouncements did not have any material
impact on the consolidated financial statements unless otherwise disclosed, and the Company does not believe that there are any other
new accounting pronouncements that have been issued that might have a material impact on its financial position or results of operations.</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_FSI_StockIssuedInExchangeForServicesPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Stock Issued In Exchange For Services [Policy Text Block]</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">FSI_StockIssuedInExchangeForServicesPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</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_FSI_TermDepositsPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Term deposits [Policy Text Block]</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">FSI_TermDepositsPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</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_AccountingPoliciesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_CashAndCashEquivalentsPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482913/230-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_CommitmentsAndContingenciesPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for commitments and contingencies, which may include policies for recognizing and measuring loss and gain contingencies.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 954<br> -SubTopic 450<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480598/954-450-50-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 460<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482425/460-10-50-8<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommitmentsAndContingenciesPolicyTextBlock</td>
</tr>
<tr>
<td style="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_CompensationRelatedCostsPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for salaries, bonuses, incentive awards, postretirement and postemployment benefits granted to employees, including equity-based arrangements; discloses methodologies for measurement, and the bases for recognizing related assets and liabilities and recognizing and reporting compensation expense.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b),(f(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CompensationRelatedCostsPolicyTextBlock</td>
</tr>
<tr>
<td style="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_ComprehensiveIncomePolicyPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for comprehensive income.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ComprehensiveIncomePolicyPolicyTextBlock</td>
</tr>
<tr>
<td style="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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for credit risk.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 825<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480981/942-825-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -SubTopic 10<br> -Topic 275<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482861/275-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 21D<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-21D<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_FairValueOfFinancialInstrumentsPolicy">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for determining the fair value of financial instruments.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 60<br> -Paragraph 1<br> -SubTopic 10<br> -Topic 820<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482053/820-10-60-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -SubTopic 10<br> -Topic 825<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueOfFinancialInstrumentsPolicy</td>
</tr>
<tr>
<td style="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_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for (1) transactions denominated in a currency other than the reporting enterprise's functional currency, (2) translating foreign currency financial statements that are incorporated into the financial statements of the reporting enterprise by consolidation, combination, or the equity method of accounting, and (3) remeasurement of the financial statements of a foreign reporting enterprise in a hyperinflationary economy.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//830/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock</td>
</tr>
<tr>
<td style="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_GoodwillAndIntangibleAssetsPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for goodwill and intangible assets. This accounting policy also may address how an entity assesses and measures impairment of goodwill and intangible assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482573/350-20-50-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -SubTopic 30<br> -Topic 350<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock</td>
</tr>
<tr>
<td style="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_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for recognizing and measuring the impairment of long-lived assets. An entity also may disclose its accounting policy for long-lived assets to be sold. This policy excludes goodwill and intangible assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 360<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 5.CC)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480091/360-10-S99-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 05<br> -Paragraph 4<br> -SubTopic 10<br> -Topic 360<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482338/360-10-05-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock</td>
</tr>
<tr>
<td style="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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-03(h)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479886/946-10-S99-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 17<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-17<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-9<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482525/740-10-45-25<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482525/740-10-45-28<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 19<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-19<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482765/220-10-50-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 20<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-20<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483489/210-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483426/235-10-50-4<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 912<br> -SubTopic 330<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482105/912-330-50-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 330<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//330/tableOfContent<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 330<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483080/330-10-50-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 330<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483080/330-10-50-4<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 6<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 270<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482989/270-10-45-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for change in accounting principle. Includes, but is not limited to, nature, reason, and method of adopting amendment to accounting standards or other change in accounting principle.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480016/944-40-65-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480016/944-40-65-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(2)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480016/944-40-65-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(2)(iv)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480016/944-40-65-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (h)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480016/944-40-65-2<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 5<br> -Subparagraph (SAB Topic 11.M.Q2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480530/250-10-S99-5<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (i)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480528/815-20-65-6<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 5<br> -Subparagraph (f)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479832/842-10-65-5<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 5<br> -Subparagraph (f)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479832/842-10-65-5<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (c)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-2<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (c)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-2<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (c)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-2<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 848<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483550/848-10-65-2<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 105<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479343/105-10-65-6<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-1<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 8<br> -Subparagraph (e)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482615/740-10-65-8<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 8<br> -Subparagraph (e)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482615/740-10-65-8<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 8<br> -Subparagraph (e)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482615/740-10-65-8<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (e)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482833/825-10-65-6<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (e)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482833/825-10-65-6<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (e)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482833/825-10-65-6<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 4<br> -Subparagraph (e)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479654/326-10-65-4<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 4<br> -Subparagraph (e)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479654/326-10-65-4<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 926<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (f)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483194/926-20-65-2<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 926<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (f)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483194/926-20-65-2<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 926<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (f)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483194/926-20-65-2<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480530/250-10-S99-6<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-1<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-1<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Topic 250<br> -Publisher FASB<br> -URI https://asc.fasb.org//250/tableOfContent<br><br>Reference 32: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (d)(1)<br> -SubTopic 20<br> -Topic 310<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481925/310-20-65-2<br><br>Reference 34: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (d)(2)<br> -SubTopic 20<br> -Topic 310<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481925/310-20-65-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock</td>
</tr>
<tr>
<td style="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_PremiumsReceivableAllowanceForDoubtfulAccountsEstimationMethodologyPolicy">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for determining the estimated allowance for doubtful accounts for premium amounts due from policyholders, insureds, and other insurance entities. May include factors that management considered, such as historical loss experience and current economic and competitive conditions.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PremiumsReceivableAllowanceForDoubtfulAccountsEstimationMethodologyPolicy</td>
</tr>
<tr>
<td style="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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -SubTopic 10<br> -Topic 360<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482099/360-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(8)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -SubTopic 360<br> -Topic 958<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480321/958-360-50-6<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -SubTopic 360<br> -Topic 958<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480321/958-360-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_RevenueFromContractWithCustomerPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 17<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-17<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 19<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-19<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 18<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-18<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 18<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-18<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 20<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-20<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 20<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-20<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 20<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-20<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 20<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-20<br><br>Reference 9: http://www.xbrl.org/2003/role/exampleRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (e)<br> -SubTopic 10<br> -Topic 235<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483426/235-10-50-4<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Topic 606<br> -Publisher FASB<br> -URI https://asc.fasb.org//606/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_UseOfEstimates">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for the use of estimates in the preparation of financial statements in conformity with generally accepted accounting principles.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482861/275-10-50-9<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482861/275-10-50-4<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 275<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482861/275-10-50-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -SubTopic 10<br> -Topic 275<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482861/275-10-50-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -SubTopic 10<br> -Topic 275<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482861/275-10-50-11<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -SubTopic 10<br> -Topic 275<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482861/275-10-50-12<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482861/275-10-50-8<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_UseOfEstimates</td>
</tr>
<tr>
<td style="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>R26.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/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.23.2</span><table class="report" border="0" cellspacing="2" id="idm139976175637408">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>SIGNIFICANT ACCOUNTING POLICIES (Tables)<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="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="Show.showAR( this, 'defref_FSI_ScheduleOfMethodOfDepreciationTableTextBlock', window );">SCHEDULE OF METHOD OF DEPRECIATION</a></td>
<td class="text"><p id="xdx_898_ecustom--ScheduleOfMethodOfDepreciationTableTextBlock_zIliTOh5Ygle" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
following assets are recorded at cost and depreciated using the methods and annual rates shown below:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;<span id="xdx_8B4_z11MQ97gvW02" style="display: none; font-family: Times New Roman, Times, Serif; font-size: 10pt">SCHEDULE
OF METHOD OF DEPRECIATION</span></span></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; width: 100%; border-collapse: collapse">
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="width: 10%">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 40%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Computer
    hardware</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: 48%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_907_ecustom--DepreciationMethodUsedAndAnnualRate_c20230101__20230630__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--ComputerEquipmentMember_zzenDHYhcKT9" title="Depreciation method used and annual rate">30%
    Declining balance</span></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td>&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Manufacturing
    equipment</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><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"><span id="xdx_909_ecustom--DepreciationMethodUsedAndAnnualRate_c20230101__20230630__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--MachineryAndEquipmentMember_zHhhXvUgBhEd" title="Depreciation method used and annual rate">20%
    Declining balance</span></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td>&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Office
    equipment</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><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"><span id="xdx_902_ecustom--DepreciationMethodUsedAndAnnualRate_c20230101__20230630__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--OfficeEquipmentMember_zTzepZMin8gj" title="Depreciation method used and annual rate">20%
    Declining balance</span></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td>&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Boat</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><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"><span id="xdx_908_ecustom--DepreciationMethodUsedAndAnnualRate_c20230101__20230630__us-gaap--PropertyPlantAndEquipmentByTypeAxis__custom--BoatMember_zbY0Kquh1Pue" title="Depreciation method used and annual rate">20%
    Declining balance</span></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td>&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Building
    and improvements</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><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"><span id="xdx_902_ecustom--DepreciationMethodUsedAndAnnualRate_c20230101__20230630__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--BuildingAndBuildingImprovementsMember_zKSxdAAV8Hdj" title="Depreciation method used and annual rate">10%
    Declining balance</span></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td>&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Trailer</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><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"><span id="xdx_902_ecustom--DepreciationMethodUsedAndAnnualRate_c20230101__20230630__us-gaap--PropertyPlantAndEquipmentByTypeAxis__custom--TrailerMember_zMtKVexsDpOc" title="Depreciation method used and annual rate">30%
    Declining balance</span></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td>&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Automobiles</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><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"><span id="xdx_90E_ecustom--DepreciationMethodUsedAndAnnualRate_c20230101__20230630__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--AutomobilesMember_ziFvXYKfETj1" title="Depreciation method used and annual rate">Straight-line
    over 5 years</span></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td>&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Patents</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><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"><span id="xdx_907_ecustom--DepreciationMethodUsedAndAnnualRate_c20230101__20230630__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--PatentsMember_z3p0DvDLQby6" title="Depreciation method used and annual rate">Straight-line
    over 17 years</span></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td>&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Technology</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><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"><span id="xdx_907_ecustom--DepreciationMethodUsedAndAnnualRate_c20230101__20230630__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--TechnologyEquipmentMember_zoVne9r8J25l" title="Depreciation method used and annual rate">Straight-line
    over 10 years</span></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td>&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Leasehold
    improvements</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><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"><span id="xdx_90B_ecustom--DepreciationMethodUsedAndAnnualRate_c20230101__20230630__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--LeaseholdImprovementsMember_z9pVdLIoLHca" title="Depreciation method used and annual rate">Straight-line
    over lease term</span></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td>&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Customer
    relationships </span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><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"><span id="xdx_90F_ecustom--DepreciationMethodUsedAndAnnualRate_c20230101__20230630__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--CustomerRelationshipsMember_z0BOVEoyXCHd" title="Depreciation method used and annual rate">Straight-line
    over 15 years</span></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td>&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Software
    </span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><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"><span id="xdx_90D_ecustom--DepreciationMethodUsedAndAnnualRate_c20230101__20230630__us-gaap--PropertyPlantAndEquipmentByTypeAxis__custom--SoftwareMember_zDcmxHehpbL9" title="Depreciation method used and annual rate">Straight-line
    over 3 years</span></span></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_FSI_ScheduleOfMethodOfDepreciationTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Schedule Of Method Of Depreciation [Table Text Block]</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">FSI_ScheduleOfMethodOfDepreciationTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</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_AccountingPoliciesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>36
<FILENAME>R27.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/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.23.2</span><table class="report" border="0" cellspacing="2" id="idm139976175771824">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>LEASES. (Tables)<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_FSI_DisclosureLeases.Abstract', window );"><strong>Leases.</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="Show.showAR( this, 'defref_FSI_SummaryOfRightofuseAssetAndLeaseLiabilityTableTextBlock', window );">SUMMARY OF RIGHT-OF-USE ASSET AND LEASE LIABILITY</a></td>
<td class="text"><p id="xdx_894_ecustom--SummaryOfRightofuseAssetAndLeaseLiabilityTableTextBlock_zrCunzqeqAy3" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
table below summarizes the right-of-use asset and lease liability for the six months ended June 30, 2023 and the year ended December
31, 2022:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;<span id="xdx_8B7_zEMBfJqux0gi" style="display: none; font-family: Times New Roman, Times, Serif; font-size: 10pt">SUMMARY
OF RIGHT-OF-USE ASSET AND LEASE LIABILITY</span></span></span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 85%; margin-right: auto">
  <tr style="vertical-align: bottom">
    <td style="font-weight: bold">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_49D_20230101__20230630_zsRvbB0W6Za1" style="border-bottom: Black 1.5pt solid; text-align: center">June 30, 2023</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_495_20220101__20221231_zLiFbE6gynvi" style="border-bottom: Black 1.5pt solid; text-align: center">December 31, 2022</td><td style="padding-bottom: 1.5pt">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-decoration: underline; font-weight: bold; text-align: left">Right of Use 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_40A_eus-gaap--OperatingLeaseRightOfUseAsset_iS_zDiSjpbJUOne" style="vertical-align: bottom; background-color: White">
    <td style="width: 57%">Balance, January 1</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 15%; text-align: right">167,222</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: 20%; text-align: right">217,267</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_403_eus-gaap--OperatingLeaseRightOfUseAsset_iS_zX4hjsG07sO8" style="display: none; vertical-align: bottom; background-color: rgb(204,238,255)">
    <td><span style="font-family: Times New Roman, Times, Serif">Right of use assets, beginning balance</span></td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">167,222</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">217,267</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--OperatingLeaseRightOfUseAssetAmortizationExpense_iN_di_zUnlOue48PGk" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt">Depreciation</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">(25,687</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">(50,045</td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr id="xdx_40F_eus-gaap--OperatingLeaseRightOfUseAsset_iE_z59Pr8TVVMId" style="vertical-align: bottom; background-color: White">
    <td>Balance, end of period</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">141,535</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">167,222</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_406_eus-gaap--OperatingLeaseRightOfUseAsset_iE_zHIAbHzChRB3" style="display: none; vertical-align: bottom; background-color: rgb(204,238,255)">
    <td><span style="font-family: Times New Roman, Times, Serif">Right of use assets, ending balance</span></td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">141,535</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">167,222</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: 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="text-decoration: underline; font-weight: bold; text-align: left">Lease Liability</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--OperatingLeaseLiability_iS_z2TOTnj362D5" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Balance, January 1</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">167,222</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">217,267</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_408_eus-gaap--OperatingLeaseLiability_iS_z9mYgHVqkCZ7" style="display: none; vertical-align: bottom; background-color: White">
    <td><span style="font-family: Times New Roman, Times, Serif">Lease liability, beginning balance</span></td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">167,222</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">217,267</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40E_ecustom--LeaseInterestExpense_z8GggI9d2w08" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Lease interest expense</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">3,353</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">8,566</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_407_eus-gaap--OperatingLeasePayments_iN_di_zcG22SP9Qrob" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt">Payments</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">(29,040</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">(58,611</td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr id="xdx_406_eus-gaap--OperatingLeaseLiability_iE_zcZ50rqp6mk8" style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 1.5pt">Balance, end of period</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">141,535</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">167,222</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_40B_eus-gaap--OperatingLeaseLiability_iE_zHzNPhlB8sch" style="display: none; vertical-align: bottom; background-color: rgb(204,238,255)">
    <td><span style="font-family: Times New Roman, Times, Serif">Lease liability, ending balance</span></td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">141,535</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">167,222</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: 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="text-align: left">Short-term portion</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_98E_eus-gaap--OperatingLeaseLiabilityCurrent_iI_pp0p0_c20230630_zfXprkcePFuc" style="text-align: right" title="Short-term portion">58,800</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_980_eus-gaap--OperatingLeaseLiabilityCurrent_iI_pp0p0_c20221231_zVnRbjgsn1Vc" style="text-align: right" title="Short-term portion">58,080</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">Long-term portion</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_98B_eus-gaap--OperatingLeaseLiabilityNoncurrent_iI_pp0p0_c20230630_zEdzque6mIIf" style="border-bottom: Black 1.5pt solid; text-align: right" title="Long-term portion">82,735</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_98C_eus-gaap--OperatingLeaseLiabilityNoncurrent_iI_pp0p0_c20221231_znVEAiBTrYv3" style="border-bottom: Black 1.5pt solid; text-align: right" title="Long-term portion">109,142</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--OperatingLeaseLiability_iI_pp0p0_c20230630_zXtdDFZUP3n6" style="border-bottom: Black 1.5pt solid; text-align: right" title="Total">141,535</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 id="xdx_984_eus-gaap--OperatingLeaseLiability_iI_pp0p0_c20221231_zROFpoHP9cti" style="border-bottom: Black 1.5pt solid; text-align: right" title="Total">167,222</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  </table>

<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock', window );">SCHEDULE OF UNDISCOUNTED RENT PAYMENTS</a></td>
<td class="text"><p id="xdx_892_eus-gaap--LesseeOperatingLeaseLiabilityMaturityTableTextBlock_zfyySa8bvzMg" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Undiscounted
rent payments for the next three years are as follows:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;<span id="xdx_8B8_zAJI6lVjt6H4" style="display: none; font-family: Times New Roman, Times, Serif; font-size: 10pt">SCHEDULE
OF UNDISCOUNTED RENT PAYMENTS</span></span></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; margin-left: auto; border-collapse: collapse; width: 65%; margin-right: auto">
  <tr style="display: none; vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_494_20230630_ztWyWGT8MX18" style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_408_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear_iI_pp0p0_maLOLLPz6zC_zEfQMeBao8v7" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 80%; text-align: left">2023</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 16%; text-align: right">29,040</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_40E_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_iI_pp0p0_maLOLLPz6zC_zuShK5tUGMhf" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">2024</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">59,520</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_403_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_iI_pp0p0_maLOLLPz6zC_z2P2Akm8uXDb" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt; text-align: left">2025</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">61,020</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDue_iTI_mtLOLLPz6zC_zqZWqXc5rz37" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Total</span></td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">149,580</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40F_eus-gaap--LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_iNI_pp0p0_di_zRnlCacCwBc6" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Impact of discounting</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">(8,045</td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr id="xdx_40F_eus-gaap--OperatingLeaseLiability_iI_zLKMYkPg6d6b" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Lease liability, June 30,
    2023</span></td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">141,535</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_FSI_DisclosureLeases.Abstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">FSI_DisclosureLeases.Abstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</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_FSI_SummaryOfRightofuseAssetAndLeaseLiabilityTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Summary Of Right of use Asset And Lease Liability [Table Text Block]</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">FSI_SummaryOfRightofuseAssetAndLeaseLiabilityTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</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_LesseeOperatingLeaseLiabilityMaturityTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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>37
<FILENAME>R28.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/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.23.2</span><table class="report" border="0" cellspacing="2" id="idm139976175669136">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>ACCOUNTS RECEIVABLE. (Tables)<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ReceivablesAbstract', window );"><strong>Receivables [Abstract]</strong></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="Show.showAR( this, 'defref_us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock', window );">SCHEDULE OF ACCOUNTS RECEIVABLE</a></td>
<td class="text"><p id="xdx_899_eus-gaap--AccountsReceivableAllowanceForCreditLossTableTextBlock_zUK6oFmW7Hua" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="display: none"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;<span id="xdx_8BE_zx9VJWV7Wjvl" style="display: none; font-family: Times New Roman, Times, Serif; font-size: 10pt">SCHEDULE
OF ACCOUNTS RECEIVABLE</span></span></span></span></b></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; margin-left: auto; border-collapse: collapse; width: 85%; margin-right: auto">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_49E_20230630_zYx7x9reqekg" style="border-bottom: Black 1.5pt solid; text-align: center">June 30, 2023</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_49D_20221231_zmNUbxZGDsOf" style="border-bottom: Black 1.5pt solid; text-align: center">December 31, 2022</td><td style="padding-bottom: 1.5pt">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <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 id="xdx_400_eus-gaap--AccountsReceivableGross_iI_pp0p0_maAANRNzPjC_z6QEUNp2zI7f" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 57%; text-align: left">Accounts receivable</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 15%; text-align: right">7,725,203</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: 20%; text-align: right">9,739,150</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_409_eus-gaap--AllowanceForDoubtfulAccountsPremiumsAndOtherReceivables_iNI_pp0p0_di_msAANRNzPjC_zn49DDCrahUa" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1.5pt">Allowances for doubtful accounts</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">(290,153</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">(289,293</td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr id="xdx_40E_eus-gaap--AccountsAndNotesReceivableNet_iTI_pp0p0_mtAANRNzPjC_zcz7q9TLC3Md" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt"><span style="display: none; font-family: Times New Roman, Times, Serif">Total accounts receivable</span></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">7,435,050</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">9,449,857</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_AccountsReceivableAllowanceForCreditLossTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of allowance for credit loss on accounts receivable.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 326<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479319/326-20-50-13<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock</td>
</tr>
<tr>
<td style="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_ReceivablesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ReceivablesAbstract</td>
</tr>
<tr>
<td style="padding-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>38
<FILENAME>R29.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/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.23.2</span><table class="report" border="0" cellspacing="2" id="idm139976175691984">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>INVENTORIES. (Tables)<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryDisclosureAbstract', window );"><strong>Inventory Disclosure [Abstract]</strong></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="Show.showAR( this, 'defref_us-gaap_ScheduleOfInventoryCurrentTableTextBlock', window );">SCHEDULE OF INVENTORY</a></td>
<td class="text"><p id="xdx_89C_eus-gaap--ScheduleOfInventoryCurrentTableTextBlock_zlOGCFmO3u5k" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="display: none; font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;<span id="xdx_8BC_zAYZxrBrWRi6" style="display: none; font-family: Times New Roman, Times, Serif; font-size: 10pt">SCHEDULE
OF INVENTORY</span></span></span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 85%; margin-right: auto">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_495_20230630_znksefHhO6Eb" style="border-bottom: Black 1.5pt solid; text-align: center">June 30, 2023</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_49A_20221231_zRYUJoZISQie" style="border-bottom: Black 1.5pt solid; text-align: center">December 31, 2022</td><td style="padding-bottom: 1.5pt">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <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 id="xdx_404_eus-gaap--InventoryFinishedGoods_iI_pp0p0_maINzDiN_maINzkLt_zKB0N3PSF6qe" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 57%; text-align: left">Completed goods</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 15%; text-align: right">3,280,008</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: 20%; text-align: right">3,806,646</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_40B_eus-gaap--InventoryRawMaterialsAndSupplies_iI_pp0p0_maINzDiN_maINzkLt_zyDzsZVqrnjc" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1.5pt">Raw materials and supplies</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,036,221</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,612,784</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_403_eus-gaap--InventoryNet_iTI_pp0p0_mtINzkLt_z7v8eahZOXf" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt"><span style="font-family: Times New Roman, Times, Serif"><span style="display: none; font-family: Times New Roman, Times, Serif; font-size: 10pt">Total
    inventory</span></span></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">11,316,229</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">14,419,430</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_InventoryDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-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_ScheduleOfInventoryCurrentTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the carrying amount as of the balance sheet date of merchandise, goods, commodities, or supplies held for future sale or to be used in manufacturing, servicing or production process.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(c))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483489/210-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfInventoryCurrentTableTextBlock</td>
</tr>
<tr>
<td style="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>R30.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/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.23.2</span><table class="report" border="0" cellspacing="2" id="idm139976175669136">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>PROPERTY, EQUIPMENT &amp; LEASEHOLDS. (Tables)<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="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" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentTextBlock', window );">SCHEDULE OF PROPERTY, EQUIPMENT AND LEASEHOLDS</a></td>
<td class="text"><p id="xdx_891_eus-gaap--PropertyPlantAndEquipmentTextBlock_zFksPMa8BpCl" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="display: none"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;<span id="xdx_8B8_znWtdbaBqQge" style="display: none; font-family: Times New Roman, Times, Serif; font-size: 10pt">SCHEDULE
OF PROPERTY, EQUIPMENT AND LEASEHOLDS</span></span></span></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; margin-left: auto; border-collapse: collapse; width: 85%; margin-right: auto">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td>&#160;</td>
    <td colspan="2" id="xdx_488_eus-gaap--PropertyPlantAndEquipmentGross_iI_zJBZcRX7x0Ql" style="text-align: center">June 30, 2023</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" id="xdx_487_eus-gaap--AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_iI_zXO5bpOlCaS5" style="text-align: center">Accumulated</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" id="xdx_481_eus-gaap--PropertyPlantAndEquipmentNet_iI_zwLtC19eDe9a" style="text-align: center">June 30, 2023</td><td>&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">Cost</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">Depreciation</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">Net</td><td>&#160;</td></tr>
  <tr id="xdx_41F_20230630__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--BuildingAndBuildingImprovementsMember_zFPegrsX2cEk" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 37%; text-align: left">Buildings and improvements</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 18%; text-align: right">12,065,617</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: 15%; text-align: right">3,572,013</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: 18%; text-align: right">8,493,604</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_417_20230630__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--AutomobilesMember_zphScuvLwSgb" style="vertical-align: bottom; background-color: White">
    <td>Automobiles</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">196,255</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">124,924</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">71,331</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_417_20230630__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--ComputerEquipmentMember_zhP9K88Cpdt5" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Computer hardware</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">43,490</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">42,826</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">664</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_413_20230630__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--OfficeEquipmentMember_zW04lQwR0qYa" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Office equipment</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">134,233</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">117,826</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">16,407</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_41E_20230630__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--MachineryAndEquipmentMember_zLiQEtBLjQV4" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Manufacturing equipment</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">9,074,006</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">5,281,191</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">3,792,815</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_414_20230630__us-gaap--PropertyPlantAndEquipmentByTypeAxis__custom--TrailerMember_zd9XeeXF3HIe" style="vertical-align: bottom; background-color: White">
    <td>Trailer</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">9,061</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">7,961</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">1,100</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_41C_20230630__us-gaap--PropertyPlantAndEquipmentByTypeAxis__custom--BoatMember_zWNyaHPtbdaf" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Boat</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">34,400</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">29,006</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">5,394</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_417_20230630__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--LeaseholdImprovementsMember_zS3D62XI7jp3" 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: right">88,872</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">88,872</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="-sec-ix-hidden: xdx2ixbrl1081">&#8212;</span></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_412_20230630__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--DevelopedTechnologyRightsMember_zN70ijI21kyc" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Technology</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">103,182</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">103,182</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="-sec-ix-hidden: xdx2ixbrl1084">&#8212;</span></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_418_20230630__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--LandMember_zM63yvzzqw7a" style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 1.5pt">Land</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">440,592</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="-sec-ix-hidden: xdx2ixbrl1086">&#8212;</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">440,592</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: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td id="xdx_98B_eus-gaap--PropertyPlantAndEquipmentGross_iI_c20230630_z2hU7JOV00K1" style="border-bottom: Black 1.5pt solid; text-align: right" title="Cost">22,189,708</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 id="xdx_980_eus-gaap--AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_iI_c20230630_zWDXrt7hCzY7" style="border-bottom: Black 1.5pt solid; text-align: right" title="Accumulated Depreciation">9,367,801</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 id="xdx_981_eus-gaap--PropertyPlantAndEquipmentNet_iI_c20230630_zgEGBrhXGGCa" style="border-bottom: Black 1.5pt solid; text-align: right" title="Property, plant and equipment, net, total">12,821,907</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  </table>

<p style="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0pt; margin-bottom: 0pt"><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: 85%; margin-right: auto">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td>&#160;</td>
    <td colspan="2" id="xdx_48C_eus-gaap--PropertyPlantAndEquipmentGross_iI_zeH2ouiyg1bg" style="text-align: center">December 31, 2022</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" id="xdx_487_eus-gaap--AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_iI_z00syL3iLUf1" style="text-align: center">Accumulated</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" id="xdx_481_eus-gaap--PropertyPlantAndEquipmentNet_iI_zMT5Tuc4tHr4" style="text-align: center">December 31, 2022</td><td>&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">Cost</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">Depreciation</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">Net</td><td style="padding-bottom: 1.5pt">&#160;</td></tr>
  <tr id="xdx_41A_20221231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--BuildingAndBuildingImprovementsMember_zviCQ3c7A1x3" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 37%; text-align: left">Buildings and improvements</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 18%; text-align: right">8,775,629</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: 15%; text-align: right">3,310,920</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: 18%; text-align: right">5,464,709</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_414_20221231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--AutomobilesMember_zlfVfSN0rCs8" style="vertical-align: bottom; background-color: White">
    <td>Automobiles</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">196,255</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">107,055</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">89,200</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_419_20221231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--ComputerEquipmentMember_zJzhxWWRooX" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Computer hardware</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">43,432</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">42,663</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">769</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_41D_20221231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--OfficeEquipmentMember_zCGKY18dFjYj" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Office equipment</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">133,280</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">112,782</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">20,498</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_410_20221231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--MachineryAndEquipmentMember_zdpkZ4NR8Wei" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Manufacturing equipment</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">8,634,063</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">4,891,736</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">3,742,327</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_419_20221231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__custom--TrailerMember_zwHlpZCWrDgk" style="vertical-align: bottom; background-color: White">
    <td>Trailers</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">8,857</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">7,592</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">1,265</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_41F_20221231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__custom--BoatMember_zbK0Ed74fftb" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Boat</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">34,400</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">27,907</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">6,493</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_418_20221231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--LeaseholdImprovementsMember_z2sdEPkIkGT" 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: right">88,872</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">88,872</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="-sec-ix-hidden: xdx2ixbrl1117">&#8212;</span></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_412_20221231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--DevelopedTechnologyRightsMember_zHwboTZI88Al" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Technology</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">100,860</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">100,860</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="-sec-ix-hidden: xdx2ixbrl1120">&#8212;</span></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_415_20221231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--LandMember_znCkU7HIvzDa" style="vertical-align: bottom; background-color: White">
    <td>Land</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">384,027</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="-sec-ix-hidden: xdx2ixbrl1122">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">384,027</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">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td id="xdx_986_eus-gaap--PropertyPlantAndEquipmentGross_iI_c20221231_zfbomOSnbbxl" style="border-bottom: Black 1.5pt solid; text-align: right" title="Cost">18,399,675</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 id="xdx_98A_eus-gaap--AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_iI_c20221231_zV01X1Gkyhb1" style="border-bottom: Black 1.5pt solid; text-align: right" title="Accumulated Depreciation">8,690,387</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 id="xdx_984_eus-gaap--PropertyPlantAndEquipmentNet_iI_c20221231_zwNeLW32esPg" style="border-bottom: Black 1.5pt solid; text-align: right" title="Property, plant and equipment, net, total">9,709,288</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_PropertyPlantAndEquipmentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -SubTopic 10<br> -Topic 360<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482099/360-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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>40
<FILENAME>R31.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/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.23.2</span><table class="report" border="0" cellspacing="2" id="idm139976175592512">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>PATENTS. (Tables)<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="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" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock', window );">SCHEDULE OF PATENTS</a></td>
<td class="text"><p id="xdx_898_eus-gaap--ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock_ziv17z4SFR3h" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="display: none; font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;<span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;<span style="display: none"><span id="xdx_8BE_zEPFlmYp8muc">SCHEDULE OF PATENTS</span></span></span></span></span></span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 85%; margin-right: auto">
  <tr style="vertical-align: bottom">
    <td style="text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">June 30, <span style="font-variant: small-caps">2023</span></span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Cost</span></p></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">Accumulated <br/> Amortization</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"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">June 30, <span style="font-variant: small-caps">2023</span></span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Net</span></p></td><td style="padding-bottom: 1.5pt">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt; width: 37%; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Patents</span></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_98B_eus-gaap--FiniteLivedPatentsGross_iI_pp0p0_c20230630_zMnK7JoUoW28" style="border-bottom: Black 1.5pt solid; width: 18%; text-align: right" title="Patents, cost">200,232</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_987_eus-gaap--FiniteLivedIntangibleAssetsAccumulatedAmortization_iI_pp0p0_c20230630_zuAzr7c0NP23" style="border-bottom: Black 1.5pt solid; width: 15%; text-align: right" title="Accumulated amortization">200,232</td><td style="width: 1%; padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="width: 2%; font-variant: small-caps; padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; width: 1%; font-variant: small-caps; text-align: left">$</td><td id="xdx_980_eus-gaap--FiniteLivedIntangibleAssetsNet_iI_pp0p0_c20230630_z14TNRddv7s8" style="border-bottom: Black 1.5pt solid; width: 18%; font-variant: small-caps; text-align: right" title="Patents, net"><span style="font: small-caps 10pt Times New Roman, Times, Serif">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<span style="-sec-ix-hidden: xdx2ixbrl1143">-</span></span></td><td style="width: 1%; padding-bottom: 1.5pt; font-variant: small-caps; text-align: left">&#160;</td></tr>
  </table>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><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: 85%; margin-right: auto">
  <tr style="vertical-align: bottom">
    <td style="text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">December
<span style="font-variant: normal">31,2022 <br/>
Cost</span></span></p></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">Accumulated <br/> Amortization</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"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">December
<span style="font-variant: normal">31,2022 <br/>
Net</span></span></p></td><td style="padding-bottom: 1.5pt">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt; width: 37%; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Patents</span></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_984_eus-gaap--FiniteLivedPatentsGross_iI_pp0p0_c20221231_z12Qdsx7e5o6" style="border-bottom: Black 1.5pt solid; width: 18%; text-align: right" title="Patents, cost">195,725</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--FiniteLivedIntangibleAssetsAccumulatedAmortization_iI_pp0p0_c20221231_zJYkgutBJDme" style="border-bottom: Black 1.5pt solid; width: 15%; text-align: right" title="Accumulated amortization">195,725</td><td style="width: 1%; padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="width: 2%; font-variant: small-caps; padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; width: 1%; font-variant: small-caps; text-align: left">$</td><td id="xdx_982_eus-gaap--FiniteLivedIntangibleAssetsNet_iI_pp0p0_c20221231_zNZS1jteEVP" style="border-bottom: Black 1.5pt solid; width: 18%; font-variant: small-caps; text-align: right" title="Patents, net"><span style="font: small-caps 10pt Times New Roman, Times, Serif">&#8239;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<span style="-sec-ix-hidden: xdx2ixbrl1149">-</span></span></td><td style="width: 1%; padding-bottom: 1.5pt; font-variant: small-caps; 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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-50-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>41
<FILENAME>R32.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/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.23.2</span><table class="report" border="0" cellspacing="2" id="idm139976175656448">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>GOODWILL AND INDEFINITE LIVED INTANGIBLE ASSETS. (Tables)<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="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" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfIntangibleAssetsAndGoodwillTableTextBlock', window );">SCHEDULE OF GOODWILL AND INDEFINITE LIVED INTANGIBLE ASSETS</a></td>
<td class="text"><p id="xdx_898_eus-gaap--ScheduleOfIntangibleAssetsAndGoodwillTableTextBlock_zgQ7DxRuHYd5" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;<span id="xdx_8B6_zUX07eGApUq" style="display: none">SCHEDULE
OF GOODWILL AND INDEFINITE LIVED INTANGIBLE ASSETS</span></span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 85%; margin-right: auto">
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Goodwill</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="width: 80%; padding-bottom: 1.5pt">Balance as of December 31, 2021, 2022 and June 30, 2023</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 style="border-bottom: Black 1.5pt solid; width: 16%; text-align: right"><span id="xdx_904_eus-gaap--Goodwill_iI_c20211231_zTTPqRngseY" title="Goodwill"><span id="xdx_908_eus-gaap--Goodwill_iI_c20221231_zO3A21UBOrEe" title="Goodwill"><span id="xdx_90F_eus-gaap--Goodwill_iI_c20230630_zpJ7JvyXWIL6" title="Goodwill">2,534,275</span></span></span></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>&#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="text-align: left; padding-bottom: 1.5pt">Indefinite Lived Intangible 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">&#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: 1.5pt">Balance as of December 31, 2021, 2022 and June 30, 2023</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"><span id="xdx_908_eus-gaap--IndefiniteLivedIntangibleAssetsExcludingGoodwill_iI_c20211231_zyskesyarFZf" title="Indefinite lived intangible assets, ending balance"><span id="xdx_907_eus-gaap--IndefiniteLivedIntangibleAssetsExcludingGoodwill_iI_c20221231_zDAIc92HC4U3" title="Indefinite lived intangible assets, ending balance"><span id="xdx_902_eus-gaap--IndefiniteLivedIntangibleAssetsExcludingGoodwill_iI_c20230630_zRwQn5eATBoi" title="Indefinite lived intangible assets, ending balance">770,000</span></span></span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  </table>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Goodwill
relates to the acquisition of ENP Investments. Indefinite lived intangible assets consist of trade secrets and trademarks related to
the acquisition of ENP Investments.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><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: 75%; margin-right: auto">
  <tr style="vertical-align: bottom">
    <td>Definite Life Intangible Assets</td><td>&#160;</td>
    <td colspan="2" style="text-align: right">&#160;</td><td>&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 80%">Balance as of December 31, 2021</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_986_eus-gaap--IndefiniteLivedIntangibleAssetsExcludingGoodwill_iS_pp0p0_c20220101__20221231__dei--LegalEntityAxis__custom--EnPInvestmentsCorporationLLCMember_zDRhiCzosdt2" style="width: 16%; text-align: right" title="Indefinite lived intangible assets, beginning balance">1,830,000</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">Amortization</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--AmortizationOfIntangibleAssets_pp0p0_c20220101__20221231__dei--LegalEntityAxis__custom--EnPInvestmentsCorporationLLCMember_z0isNCm6TD8i" style="border-bottom: Black 1.5pt solid; text-align: right" title="Amortization">(160,000</td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Balance as of December 31, 2022</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_982_eus-gaap--IndefiniteLivedIntangibleAssetsExcludingGoodwill_iS_pp0p0_c20230101__20230630__dei--LegalEntityAxis__custom--EnPInvestmentsCorporationLLCMember_znpqxhrHPBYa" style="text-align: right" title="Indefinite lived intangible assets, beginning balance">1,670,000</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 1.5pt">Amortization</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--AmortizationOfIntangibleAssets_pp0p0_c20230101__20230630__dei--LegalEntityAxis__custom--EnPInvestmentsCorporationLLCMember_zNz984yVhvz" style="border-bottom: Black 1.5pt solid; text-align: right" title="Amortization">(80,000</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: 1.5pt">Balance as of June 30, 2023</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--IndefiniteLivedIntangibleAssetsExcludingGoodwill_iE_pp0p0_c20230101__20230630__dei--LegalEntityAxis__custom--EnPInvestmentsCorporationLLCMember_zPdjsCpe1aac" style="border-bottom: Black 1.5pt solid; text-align: right" title="Indefinite lived intangible assets, ending balance">1,590,000</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  </table>

<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock', window );">SCHEDULE OF ESTIMATED FUTURE AMORTIZATION EXPENSE</a></td>
<td class="text"><p id="xdx_891_eus-gaap--ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock_z4BHVt8YJuH6" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Estimated
amortization expense over the next five years is as follows:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;<span id="xdx_8B7_z3frfV5IoNG3" style="display: none">SCHEDULE
OF ESTIMATED FUTURE AMORTIZATION EXPENSE</span></span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 70%; margin-right: auto">
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 80%; text-align: left">2023</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_985_eus-gaap--FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear_iI_c20230630__us-gaap--FairValueByAssetClassAxis__us-gaap--FiniteLivedIntangibleAssetsMember_ztiMLbRrKSud" style="width: 16%; text-align: right" title="2023">160,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">2024</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_980_eus-gaap--FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_iI_c20230630__us-gaap--FairValueByAssetClassAxis__us-gaap--FiniteLivedIntangibleAssetsMember_zsSEERyDdIN" style="text-align: right" title="2024">160,000</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">2025</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98A_eus-gaap--FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_iI_pp0p0_c20230630__us-gaap--FairValueByAssetClassAxis__us-gaap--FiniteLivedIntangibleAssetsMember_zHk2rYjwQiHf" style="text-align: right" title="2025">160,000</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">2026</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98A_eus-gaap--FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_iI_pp0p0_c20230630__us-gaap--FairValueByAssetClassAxis__us-gaap--FiniteLivedIntangibleAssetsMember_zxvd9dTrqbyk" style="text-align: right" title="2026">160,000</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">2027</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98D_eus-gaap--FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_iI_pp0p0_c20230630__us-gaap--FairValueByAssetClassAxis__us-gaap--FiniteLivedIntangibleAssetsMember_zeqDAMTEdI7b" style="text-align: right" title="2027">160,000</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_GoodwillAndIntangibleAssetsDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_ScheduleOfIntangibleAssetsAndGoodwillTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of goodwill and intangible assets, which may be broken down by segment or major class.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482573/350-20-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfIntangibleAssetsAndGoodwillTableTextBlock</td>
</tr>
<tr>
<td style="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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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>42
<FILENAME>R33.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/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.23.2</span><table class="report" border="0" cellspacing="2" id="idm139976175877152">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>LONG TERM DEPOSITS. (Tables)<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_FSI_DisclosureLongTermDeposits.Abstract', window );"><strong>Long Term Deposits.</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="Show.showAR( this, 'defref_FSI_ScheduleOfLongTermDepositsTableTextBlock', window );">SCHEDULE OF LONG TERM DEPOSITS</a></td>
<td class="text"><p id="xdx_895_ecustom--ScheduleOfLongTermDepositsTableTextBlock_zfBP8ViVkmJi" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company has reclassified certain security deposits to better reflect their long term nature. Long term deposits consist of damage deposits
held by landlords and security deposits held by various vendors.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;<span id="xdx_8B9_zwaZSmTUpsL8" style="display: none; font-family: Times New Roman, Times, Serif; font-size: 10pt">SCHEDULE
OF LONG TERM DEPOSITS</span></span></span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 85%; margin-right: auto">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_49B_20230630_zvPngWzGVTuc" style="border-bottom: Black 1.5pt solid; text-align: center">June 30, 2023</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_490_20221231_zcIuPhioeLN5" style="border-bottom: Black 1.5pt solid; text-align: center">December 31, 2022</td><td style="padding-bottom: 1.5pt">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="padding-bottom: 1.5pt; text-align: center">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="padding-bottom: 1.5pt; text-align: center">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td></tr>
  <tr id="xdx_409_eus-gaap--DepositsAssetsNoncurrent_iI_pp0p0" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 57%; text-align: left; padding-bottom: 1.5pt">Long term deposits</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 style="border-bottom: Black 1.5pt solid; width: 15%; text-align: right">370,156</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 style="border-bottom: Black 1.5pt solid; width: 20%; text-align: right">8,540</td><td style="width: 1%; 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_FSI_DisclosureLongTermDeposits.Abstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">FSI_DisclosureLongTermDeposits.Abstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</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_FSI_ScheduleOfLongTermDepositsTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Schedule Of Long Term Deposits [Table Text Block]</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">FSI_ScheduleOfLongTermDepositsTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</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>R34.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/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.23.2</span><table class="report" border="0" cellspacing="2" id="idm139976165007680">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>INVESTMENTS. (Tables)<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 2023</div></th></tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_LegalEntityAxis=FSI_EnpPeruInvestmentsLlcMember', window );">Enp Peru Investments Llc [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="Show.showAR( this, 'defref_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock', window );">SCHEDULE OF FAIR VALUES OF THE ASSETS ACQUIRED AND LIABILITIES ASSUMED</a></td>
<td class="text"><p id="xdx_897_eus-gaap--ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock_hdei--LegalEntityAxis__custom--EnpPeruInvestmentsLlcMember_zGpux7scJJo8" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;<span style="display: none"><span id="xdx_8BA_zQhpQ5kCCx5">SCHEDULE
OF  FAIR VALUES OF THE ASSETS ACQUIRED AND LIABILITIES ASSUMED</span></span></span></span></span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 80%; margin-right: auto">
  <tr style="display: none; vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; 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_492_20220101__20221231_zoN9lEH5BmT9" 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_40D_eus-gaap--BusinessCombinationConsiderationTransferred1_zBPfCXI0EeU1" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 80%; text-align: left; padding-bottom: 1.5pt">Purchase consideration</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 style="border-bottom: Black 1.5pt solid; width: 16%; text-align: right">506,659</td><td style="width: 1%; 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">Assets acquired:</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_40A_eus-gaap--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents_iE_zaZYAudnUAU" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt">Cash</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">7,330</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_403_eus-gaap--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedBuildings_iE_z2pW9t3KxLD2" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt">Building</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">3,750,000</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_eus-gaap--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLand_iE_z1LTSlEcHrJg" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt">Land</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">150,000</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">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 id="xdx_404_eus-gaap--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities_iNE_di_zyvxsNazua3c" 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">(174,582</td><td style="text-align: left">)</td></tr>
  <tr id="xdx_404_ecustom--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLongTermDebt_iE_zgEEtzu7ez2" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left; padding-bottom: 1.5pt">Long term debt</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">(2,849,500</td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr id="xdx_404_eus-gaap--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets_iE_z1Z3GqEDcyu8" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1.5pt">Total identifiable net 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">883,248</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_405_ecustom--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLessPurchasePrice_iE_z4NqH8NQChQ2" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Excess of assets acquired over consideration</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">376,589</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40F_ecustom--InvestmentEliminatedUponConsolidation_zwaA9rHXPBV8" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1.5pt">Less investment eliminated upon consolidation</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,538</td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr id="xdx_40D_ecustom--GainOnAcquisitionOfSubsidiary_ztnKY6jzALW9" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1.5pt">Gain on acquisition of ENP Peru</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">335,051</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  </table>

<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EquityMethodInvestmentsTextBlock', window );">SCHEDULE OF EQUITY METHOD INVESTMENT</a></td>
<td class="text"><p id="xdx_89B_eus-gaap--EquityMethodInvestmentsTextBlock_hdei--LegalEntityAxis__custom--EnpPeruInvestmentsLlcMember_zN84hMiJRnJj" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.7in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">A
summary of the Company&#8217;s investment follows:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;<span style="display: none"><span id="xdx_8BE_zVbwgKDlORsg">SCHEDULE OF EQUITY METHOD INVESTMENT</span></span></span></span></span></span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 80%; margin-right: auto">
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 80%">Balance, December 31, 2021</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td id="xdx_982_eus-gaap--EquityMethodInvestments_iS_c20220101__20221231__dei--LegalEntityAxis__custom--EnpPeruInvestmentsLlcMember_zjzxFfIMZPCa" style="width: 16%; text-align: right" title="Balance, Beginning">22,642</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>Return of equity</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_981_ecustom--EquityMethodInvestmentReturnOfEquity_c20220101__20221231__dei--LegalEntityAxis__custom--EnpPeruInvestmentsLlcMember_zHMkZGa0SSQc" style="text-align: right" title="Return of equity">(8,750</td><td style="text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Gain in equity method investment</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_981_eus-gaap--EquityMethodInvestmentRealizedGainLossOnDisposal_c20220101__20221231__dei--LegalEntityAxis__custom--EnpPeruInvestmentsLlcMember_zVUMbyZaJ8Cd" style="text-align: right" title="Gain in equity method investment">27,646</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">Investment eliminated upon consolidation</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--InvestmentEliminatedUponConsolidation_c20220101__20221231__dei--LegalEntityAxis__custom--EnpPeruInvestmentsLlcMember_zG5idIFlrCJ3" style="border-bottom: Black 1.5pt solid; text-align: right" title="Investment eliminated upon consolidation">(41,538</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, December 31, 2022 and June 30, 2023</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--EquityMethodInvestments_iE_c20220101__20221231__dei--LegalEntityAxis__custom--EnpPeruInvestmentsLlcMember_z6tJmDFQQVSc" style="border-bottom: Black 2.5pt double; text-align: right" title="Balance, Ending"><span style="-sec-ix-hidden: xdx2ixbrl1252">-</span></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_LegalEntityAxis=FSI_FloridaBasedLLCMember', window );">Florida Based LLC [Member]</a></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="Show.showAR( this, 'defref_us-gaap_EquityMethodInvestmentsTextBlock', window );">SCHEDULE OF EQUITY METHOD INVESTMENT</a></td>
<td class="text"><p id="xdx_890_eus-gaap--EquityMethodInvestmentsTextBlock_hdei--LegalEntityAxis__custom--FloridaBasedLLCMember_zBjsrUFwDXwb" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8B4_zInUQE4iLXN7" style="display: none">SCHEDULE
OF EQUITY METHOD INVESTMENT</span></span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 80%; margin-right: auto">
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 80%">Balance, December 31, 2021</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td id="xdx_983_eus-gaap--EquityMethodInvestments_iS_pp0p0_c20220101__20221231__dei--LegalEntityAxis__custom--FloridaBasedLLCMember_zUWqkZfY7bw7" style="width: 16%; text-align: right" title="Balance, Beginning">3,701,368</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Gain in equity method investment</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98D_eus-gaap--EquityMethodInvestmentRealizedGainLossOnDisposal_pp0p0_c20220101__20221231__dei--LegalEntityAxis__custom--FloridaBasedLLCMember_z37oPXNenad9" style="text-align: right" title="Gain in equity method investment">307,527</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">Return of equity</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_98C_ecustom--EquityMethodInvestmentReturnOfEquity_pp0p0_c20220101__20221231__dei--LegalEntityAxis__custom--FloridaBasedLLCMember_zfgGkQgZe7Jh" style="border-bottom: Black 1.5pt solid; text-align: right" title="Return of equity">(250,000</td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>Balance, December 31, 2022</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_98F_eus-gaap--EquityMethodInvestments_iS_pp0p0_c20230101__20230630__dei--LegalEntityAxis__custom--FloridaBasedLLCMember_zSaxRZhUVNJ6" style="text-align: right" title="Balance, Beginning">3,758,895</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">Gain in equity method investment</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_985_eus-gaap--EquityMethodInvestmentRealizedGainLossOnDisposal_pp0p0_c20230101__20230630__dei--LegalEntityAxis__custom--FloridaBasedLLCMember_zsnv3SXJ90M3" style="border-bottom: Black 1.5pt solid; text-align: right" title="Gain in equity method investment">326,703</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">Balance, June 30, 2023</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td id="xdx_981_eus-gaap--EquityMethodInvestments_iE_pp0p0_c20230101__20230630__dei--LegalEntityAxis__custom--FloridaBasedLLCMember_z6N5Et2tU8Zb" style="border-bottom: Black 1.5pt solid; text-align: right" title="Balance, Ending">4,085,598</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  </table>

<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GainLossOnInvestmentsTextBlock', window );">SUMMARY OF PROFIT AND LOSS INFORMATION RELATED TO EQUITY ACCOUNTED INVESTMENT</a></td>
<td class="text"><p id="xdx_890_eus-gaap--GainLossOnInvestmentsTextBlock_hdei--LegalEntityAxis__custom--FloridaBasedLLCMember_zD2EzOwkOrY6" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Summarized
profit and loss information related to the equity accounted investment is as follows:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8B3_z4kOik6t2gI2" style="display: none">SUMMARY
OF PROFIT AND LOSS INFORMATION RELATED TO EQUITY ACCOUNTED INVESTMENT</span></span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 95%; margin-right: auto">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_495_20230101__20230630_zIgksEyXaSbl" style="border-bottom: Black 1.5pt solid; text-align: center">Six months ended<br/> June 30, 2023</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_491_20220101__20220630_z4mcMtjaeA76" style="border-bottom: Black 1.5pt solid; text-align: center">Six months ended<br/> June 30, 2022</td><td style="padding-bottom: 1.5pt">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="text-align: right">&#160;</td><td>&#160;</td></tr>
  <tr id="xdx_402_eus-gaap--GainsLossesOnSalesOfInvestmentRealEstate_zvEVn5AzFCD2" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 60%; text-align: left">Net sales</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right">8,231,298</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">4,987,836</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_40A_eus-gaap--RealizedInvestmentGainsLosses_zHEIgNLGGJv4" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Gross profit</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">2,435,858</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">1,850,172</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_402_ecustom--RealizedInvestmentGainsLossesNet_zoNTJbfIBWa5" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Net income</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">653,407</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">766,167</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_EquityMethodInvestmentsTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of equity method investments including, but not limited to, name of each investee or group of investments, percentage ownership, difference between recorded amount of an investment and the value of the underlying equity in the net assets, and summarized financial information.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EquityMethodInvestmentsTextBlock</td>
</tr>
<tr>
<td style="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_GainLossOnInvestmentsTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of realized and unrealized gain (loss) on investment in security.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(7)(c))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(9)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GainLossOnInvestmentsTextBlock</td>
</tr>
<tr>
<td style="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_ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479328/805-10-50-3<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479328/805-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_LegalEntityAxis=FSI_EnpPeruInvestmentsLlcMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_LegalEntityAxis=FSI_EnpPeruInvestmentsLlcMember</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_dei_LegalEntityAxis=FSI_FloridaBasedLLCMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_LegalEntityAxis=FSI_FloridaBasedLLCMember</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>44
<FILENAME>R35.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/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.23.2</span><table class="report" border="0" cellspacing="2" id="idm139976173548816">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>LONG TERM DEBT. (Tables)<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtDisclosureAbstract', window );"><strong>Debt 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="Show.showAR( this, 'defref_FSI_ScheduleOfLoanCovenantsTableTextBlock', window );">SCHEDULE OF LOAN COVENANTS</a></td>
<td class="text"><p id="xdx_89E_ecustom--ScheduleOfLoanCovenantsTableTextBlock_zoZ5IdrmBkdf" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8B1_zS1eqBmQLTac" style="display: none">SCHEDULE
OF LOAN COVENANTS</span></span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#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">Continuity</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_49C_20230101__20230630_zhDTKMjJtUjc" style="border-bottom: Black 1.5pt solid; text-align: center">June 30, 2023</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_49F_20220101__20221231_ziLl7cL7blbd" style="border-bottom: Black 1.5pt solid; text-align: center">December 31, 2022</td><td style="padding-bottom: 1.5pt">&#160;</td></tr>
  <tr id="xdx_404_eus-gaap--LongTermDebt_iS_zrajopwRNnTj" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 61%">Balance, January 1</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 15%; text-align: right">6,154,077</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">2,366,598</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_40B_eus-gaap--LongTermDebt_iS_zFCauw0ZJJ1a" style="display: none; vertical-align: bottom; background-color: rgb(204,238,255)">
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Balance,
    beginning of period</span></td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">6,154,077</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">2,366,598</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: 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--ProceedsFromBankDebt_zATUMaPgHEX4" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Plus: Proceeds from loans</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">2,248,292</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">3,230,798</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_402_ecustom--ProceedsFromLoanAcquiredFromAcquisition_zYS53pXKK5pg" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Plus: Loan acquired with acquisition of ENP Peru</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1455">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">2,849,500</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_409_eus-gaap--PaymentsForProceedsFromDepositOnLoan_iN_di_zgx5PKKL9tzd" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1.5pt">Less: Payments on loan</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">(361,265</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">(2,292,819</td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr id="xdx_409_eus-gaap--LongTermDebt_iE_zVkfOrsdkkC2" style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 2.5pt">Balance, 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">8,041,104</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">6,154,077</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfDebtInstrumentsTextBlock', window );">SCHEDULE OF OUTSTANDING BALANCE LOAN</a></td>
<td class="text"><p id="xdx_899_eus-gaap--ScheduleOfDebtInstrumentsTextBlock_zDkhNHs9U6x5" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8B0_zIaQZisPqVxi" style="display: none">SCHEDULE
OF OUTSTANDING BALANCE LOAN</span></span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#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">Outstanding balance</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_491_20230630_z2DqVYlpl9na" style="border-bottom: Black 1.5pt solid; text-align: center">June 30, 2023</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_492_20221231_zze1SBM3Lew7" style="border-bottom: Black 1.5pt solid; text-align: center">December 31, 2022</td><td style="padding-bottom: 1.5pt">&#160;</td></tr>
  <tr id="xdx_403_eus-gaap--LongTermDebt_iI_hus-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandStatesBankMember_zm49A4jvxLYj" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">a) Long term debt &#8211; Midland States Bank</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1466">-</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: xdx2ixbrl1467">-</span></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_406_eus-gaap--LongTermDebt_iI_hus-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandStatesBankOneMember_zJTArF9QNPyb" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">b) Long term debt &#8211; Midland States Bank</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1469">-</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="-sec-ix-hidden: xdx2ixbrl1470">-</span></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_eus-gaap--LongTermDebt_iI_hus-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--StockYardsBankTrustMember_zNvYPPw5kMKh" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 61%; text-align: left">c) Long term debt &#8211; Stock Yards Bank &amp; Trust</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 15%; text-align: right">404,925</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">415,430</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_eus-gaap--LongTermDebt_iI_hus-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--StockYardsBankTrustOneMember_z7sdTDFgFpo6" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">d) Long term debt &#8211; Stock Yards Bank &amp; Trust</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">1,322,511</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">1,632,672</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_409_eus-gaap--LongTermDebt_iI_hus-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--StockYardsBankTrustTwoMember_zZ5Za8Csbyv3" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">e) Long term debt &#8211; Stock Yards Bank &amp; Trust</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">2,775,372</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">2,813,015</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40B_eus-gaap--LongTermDebt_iI_hus-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--StockYardsBankTrustThreeMember_zK9xmD9o8Cb4" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">f) Long term debt &#8211; Stock Yards Bank &amp; Trust</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">253,206</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">256,162</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_406_eus-gaap--LongTermDebt_iI_hus-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--StockYardsBankTrustFourMember_zXE5ONgEg4q5" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">g) Long term debt &#8211; Stock Yards Bank &amp; Trust</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">1,036,798</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">1,036,798</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_405_eus-gaap--LongTermDebt_iI_hus-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--StockYardsBankTrustFiveMember_zJhriDM9M7d2" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1.5pt">h) Long term debt &#8211; Stock Yards Bank &amp; Trust</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">2,248,292</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="display: none; font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="-sec-ix-hidden: xdx2ixbrl1488">-</span></span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_400_eus-gaap--LongTermDebt_iI_zTTlYnrAAmze" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Long-term Debt</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">8,041,104</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">6,154,077</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--LongTermDebtCurrent_iNI_di_zMgIePBBrUk1" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1.5pt">Less: current portion</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">(738,916</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">(717,612</td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr id="xdx_40B_eus-gaap--LongTermDebtNoncurrent_iI_zzr3slaHlpr6" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 2.5pt"><span style="display: none; font-family: Times New Roman, Times, Serif; font-size: 10pt">Long-term
    Debt non current</span><span style="font-family: Times New Roman, Times, Serif">&#160;</span></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">7,302,188</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,436,465</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_FSI_ScheduleOfLoanCovenantsTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Schedule of loan covenants [Table Text Block]</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">FSI_ScheduleOfLoanCovenantsTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</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_DebtDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-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_ScheduleOfDebtInstrumentsTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of long-debt instruments or arrangements, including identification, terms, features, collateral requirements and other information necessary to a fair presentation. These are debt arrangements that originally required repayment more than twelve months after issuance or greater than the normal operating cycle of the entity, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 69B<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481568/470-20-55-69B<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 69E<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481568/470-20-55-69E<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.12-04(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-3<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482925/835-30-45-2<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 45<br> -Paragraph 1A<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482925/835-30-45-1A<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-3<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<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> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 55<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482949/835-30-55-8<br><br>Reference 9: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 470<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480848/942-470-50-3<br><br>Reference 10: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-8<br><br>Reference 11: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-6<br><br>Reference 12: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-7<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfDebtInstrumentsTextBlock</td>
</tr>
<tr>
<td style="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>45
<FILENAME>R36.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/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.23.2</span><table class="report" border="0" cellspacing="2" id="idm139976173434112">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>STOCK OPTIONS. (Tables)<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="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" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock', window );">SCHEDULE OF STOCK OPTION ACTIVITIES</a></td>
<td class="text"><p id="xdx_895_eus-gaap--ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock_zfxl3O3f6Ta" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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 Company&#8217;s stock option activities for the year ended December 31, 2022 and the six month period
ended June 30, 2023:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8BA_z4dw2pbQQzCb" style="display: none">SCHEDULE
OF STOCK OPTION ACTIVITIES</span></span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#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="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">Number of<br/> shares</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">Exercise price<br/> per share</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">Weighted<br/> average <br/>
exercise <br/> price</td><td style="padding-bottom: 1.5pt">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <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: rgb(204,238,255)">
    <td style="width: 51%">Balance, December 31, 2021</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td id="xdx_98E_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iS_pid_c20220101__20221231_zJuWVd893JWg" style="width: 13%; text-align: right" title="Number of shares, Beginning Balance">789,500</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: 13%; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_904_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice_iS_c20220101__20221231__srt--RangeAxis__srt--MinimumMember_zwIUCOrBWkvd" title="Exercise price per share, Beginning Balance">1.42</span> &#8211; <span id="xdx_90C_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice_iS_c20220101__20221231__srt--RangeAxis__srt--MaximumMember_zpoMUlHvHEy9" title="Exercise price per share, Beginning Balance">4.13</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_985_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_iS_c20220101__20221231_zffIqyKPDY91" style="width: 11%; text-align: right" title="Weighted average exercise price, Beginning Balance">2.78</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>Granted</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_983_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_pid_c20220101__20221231_zEVaTFPRqHii" style="text-align: right" title="Number of shares, Granted">981,000</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_908_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeGrantedOptionsExercisePrice_c20220101__20221231__srt--RangeAxis__srt--MinimumMember_zd1KasXqxSvl" title="Exercise price per share, Granted">3.55</span> &#8211; <span id="xdx_903_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeGrantedOptionsExercisePrice_c20220101__20221231__srt--RangeAxis__srt--MaximumMember_z97xzdffHC6e" title="Exercise price per share, Granted">3.61</span></span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_98E_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_c20220101__20221231_z6vmho7MA30j" style="text-align: right" title="Weighted average exercise price, Granted">3.55</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">Cancelled or expired</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_985_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod_iN_pid_di_c20220101__20221231_z7vzL9wAcVX4" style="text-align: right" title="Number of shares, Cancelled or expired">(13,486</td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_90F_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice_c20220101__20221231__srt--RangeAxis__srt--MinimumMember_zMNXTsOzmUf9" title="Exercise price per share, Cancelled">1.70</span> &#8211; <span id="xdx_90E_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice_c20220101__20221231__srt--RangeAxis__srt--MaximumMember_zD9eeSjjpST" title="Exercise price per share, Cancelled">3.61</span></span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_987_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice_c20220101__20221231_zD6Ne8U90FBl" style="text-align: right" title="Weighted average exercise price, Cancelled or expired">2.32</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 1.5pt">Exercised</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_98D_eus-gaap--StockIssuedDuringPeriodSharesStockOptionsExercised_iN_pid_di_c20220101__20221231_zHt490JTXry" style="border-bottom: Black 1.5pt solid; text-align: right" title="Number of shares, Exercised">(71,014</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">$</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_906_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExcercisedOptionsExercisePrice_c20220101__20221231__srt--RangeAxis__srt--MinimumMember_zqbAOLWygKtg" title="Exercise price per share, Exercised">1.42</span> &#8211; <span id="xdx_902_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExcercisedOptionsExercisePrice_c20220101__20221231__srt--RangeAxis__srt--MaximumMember_zvozzROO4jli" title="Exercise price per share, Exercised">2.44</span></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">$</td><td id="xdx_98E_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_c20220101__20221231_zFSKk0pRJjN8" style="border-bottom: Black 1.5pt solid; text-align: right" title="Weighted average exercise price, Exercised">1.98</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>Balance, December 31, 2022 </td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span id="xdx_905_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iS_pid_c20230101__20230630_zdDZq4yJIRp5" title="Number of shares, Beginning Balance">1,686,000</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="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_902_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice_iS_pid_c20230101__20230630__srt--RangeAxis__srt--MinimumMember_z3sDOrhs83rd" title="Exercise price per share, Beginning Balance">1.70</span> &#8211; <span id="xdx_90F_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice_iS_pid_c20230101__20230630__srt--RangeAxis__srt--MaximumMember_zkwgPVKgVGB1" title="Exercise price per share, Beginning Balance">4.13</span></span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><span id="xdx_903_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_iS_c20230101__20230630_zqOQq4nWx8R2" title="Weighted average exercise price, Beginning Balance">3.27</span></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 1.5pt">Exercised</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--StockIssuedDuringPeriodSharesStockOptionsExercised_iN_pid_di_c20230101__20230630_ztlCwuJvLPl4" style="border-bottom: Black 1.5pt solid; text-align: right" title="Number of shares, Exercised">(8,000</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">$</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><span id="xdx_903_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExcercisedOptionsExercisePrice_c20230101__20230630_zKpoXi6RtGM4" title="Exercise price per share, Exercised">1.70</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">$</td><td id="xdx_98A_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_c20230101__20230630_zlMPCU8pRDBe" style="border-bottom: Black 1.5pt solid; text-align: right" title="Weighted average exercise price, Exercised">1.70</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: 1.5pt"><p style="margin: 0">Balance, June 30, 2023</p></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 id="xdx_907_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iE_pid_c20230101__20230630_zVmjWPCpwZ9k" title="Number of shares Exercisable, Ending Balance">1,678,000</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">$</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><p style="margin: 0"><span id="xdx_901_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice_iE_pid_c20230101__20230630__srt--RangeAxis__srt--MinimumMember_zfunBo7xfEF5" title="Exercise price per share, Ending Balance">1.75</span> &#8211; <span id="xdx_901_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice_iE_pid_c20230101__20230630__srt--RangeAxis__srt--MaximumMember_zXPHDo7jauoj" title="Exercise price per share, Ending Balance">4.13</span></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">$</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><p style="margin: 0"><span id="xdx_903_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_iE_c20230101__20230630_zLnvDSZ2mV11" title="Weighted average exercise price, Ending Balance">3.27</span></p></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">Exercisable, June 30, 2023</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--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_iE_pid_c20230101__20230630_z1bXJQS203Jg" style="border-bottom: Black 1.5pt solid; text-align: right" title="Number of shares Exercisable, Ending Balance">672,000</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"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_906_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingExercisableOptionsExercisePrice_iE_pid_c20230101__20230630__srt--RangeAxis__srt--MinimumMember_zhWusqCJDj5" title="Exercise price per share Exercisable, Ending Balance">1.75</span>
&#8211; <span id="xdx_90A_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingExercisableOptionsExercisePrice_iE_pid_c20230101__20230630__srt--RangeAxis__srt--MaximumMember_zpAHI9NBtmTl" title="Exercise price per share Exercisable, Ending Balance">4.13</span></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">$</td><td id="xdx_980_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_iE_c20230101__20230630_zrEhyCDCqOFb" style="border-bottom: Black 1.5pt solid; text-align: right" title="Weighted average exercise price, Ending Balance">2.94</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  </table>

<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock', window );">SCHEDULE OF STOCK OPTION FAIR VALUE ASSUMPTIONS</a></td>
<td class="text"><p id="xdx_892_eus-gaap--ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock_zwJKaCMQJ3d2" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
fair value of each option grant is calculated using the following weighted average assumptions:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8B1_z7Jei0Vm5bP" style="display: none">SCHEDULE
OF STOCK OPTION FAIR VALUE ASSUMPTIONS</span></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; margin-left: auto; border-collapse: collapse; width: 85%; margin-right: auto">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">2022</td><td style="padding-bottom: 1.5pt">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 80%; text-align: left">Expected life &#8211; years</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_907_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_dtY_c20220101__20221231_zvLBHuU4jyn2" title="Expected life - years">3.0</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">Interest rate</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_902_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_pid_dp_uPure_c20220101__20221231__srt--RangeAxis__srt--MinimumMember_z1nF2QJBG8Da" title="Interest rate">1.76</span>
&#8211; <span id="xdx_906_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_pid_dp_uPure_c20220101__20221231__srt--RangeAxis__srt--MaximumMember_zJCHJWN1n5Sc" title="Interest rate">3.64</span></span></td><td style="text-align: left">%</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 style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_907_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_pid_dp_uPure_c20220101__20221231__srt--RangeAxis__srt--MinimumMember_zL0Ju8HveQak" title="Volatility">66.01</span> - <span id="xdx_909_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_pid_dp_uPure_c20220101__20221231__srt--RangeAxis__srt--MaximumMember_zXdJFlpmmL6j" title="Volatility">69.66</span></span></td><td style="text-align: left">%</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>Weighted average fair value of options granted</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_90B_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_pid_c20220101__20221231__srt--RangeAxis__srt--MinimumMember_zQ362VRFc0nl" title="Weighted average fair value of options granted">1.46</span>
&#8211; <span id="xdx_90F_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_pid_c20220101__20221231__srt--RangeAxis__srt--MaximumMember_z9uhnUbuxZlj" title="Weighted average fair value of options granted">1.65</span></span></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_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)<br> -SubTopic 10<br> -Topic 718<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)<br> -SubTopic 10<br> -Topic 718<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 718<br> -SubTopic 10<br> -Subparagraph (f)(2)<br> -Name Accounting Standards Codification<br> -Paragraph 2<br> -Section 50<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>46
<FILENAME>R37.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/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.23.2</span><table class="report" border="0" cellspacing="2" id="idm139976171112560">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>NON-CONTROLLING INTERESTS (Tables)<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NoncontrollingInterestAbstract', window );"><strong>Noncontrolling Interest [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="Show.showAR( this, 'defref_FSI_ScheduleOfDistributionsTableTextBlock', window );">SCHEDULE OF DISTRIBUTIONS</a></td>
<td class="text"><p id="xdx_89F_ecustom--ScheduleOfDistributionsTableTextBlock_zFMxiGRJt3Te" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8BC_ztHIY4YTAjYb" style="display: none">SCHEDULE
OF DISTRIBUTIONS</span></span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 85%; margin-right: auto">
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 80%; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Balance, December 31, 2021</span></td><td style="width: 2%; text-align: left">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_989_eus-gaap--MinorityInterest_iS_c20220101__20221231__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_zgvlhy7K9l2c" style="width: 16%; text-align: right" title="Distribution to noncontrolling interests, Beginning balance">2,602,843</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">Distribution</span></td><td style="text-align: left">&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98C_eus-gaap--MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders_iN_di_c20220101__20221231__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_zKh85xGUkdb2" style="text-align: right" title="Distribution">(689,434</td><td style="text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Non-controlling interest share of income</span></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 id="xdx_98A_eus-gaap--NetIncomeLossAttributableToNoncontrollingInterest_c20220101__20221231__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_zdZIR027pq7j" style="border-bottom: Black 1.5pt solid; text-align: right" title="Non-controlling interest share of income">691,625</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"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Balance, December 31, 2022</span></td><td style="text-align: left">&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_989_eus-gaap--MinorityInterest_iS_c20230101__20230630__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_zm99Go8reLVe" style="text-align: right" title="Distribution to noncontrolling interests, Beginning balance">2,605,034</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">Distribution</span></td><td style="text-align: left">&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_982_eus-gaap--MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders_iN_di_c20230101__20230630__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_zrpXy4I02COg" style="text-align: right" title="Distribution">(387,696</td><td style="text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 1.5pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Non-controlling interest share of income</span></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 id="xdx_987_eus-gaap--NetIncomeLossAttributableToNoncontrollingInterest_c20230101__20230630__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_zXNJOMaOcfh6" style="border-bottom: Black 1.5pt solid; text-align: right" title="Non-controlling interest share of income">264,987</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: 1.5pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Balance, June 30, 2023</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td id="xdx_98E_eus-gaap--MinorityInterest_iE_c20230101__20230630__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_zpYmS9UzsNCc" style="border-bottom: Black 1.5pt solid; text-align: right" title="Distribution to noncontrolling interests, Ending balance">2,482,325</td><td style="padding-bottom: 1.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="Show.showAR( this, 'defref_FSI_ScheduleOfNonControllingInterestRelatedToAcquisitionTableTextBlock', window );">SCHEDULE OF NON CONTROLLING INTEREST RELATED TO ACQUISITION</a></td>
<td class="text"><p id="xdx_891_ecustom--ScheduleOfNonControllingInterestRelatedToAcquisitionTableTextBlock_zUsN686B5kMa" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8BA_zAF5i0ZdUOI" style="display: none">SCHEDULE
OF NON CONTROLLING INTEREST RELATED TO ACQUISITION </span></span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 85%; margin-right: auto">
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Balance, December 31, 2022</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_989_eus-gaap--MinorityInterest_iS_c20230101__20230630__srt--OwnershipAxis__custom--MendotaLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_zTdWVGvNwkZc" style="text-align: right" title="Distribution to noncontrolling interests, Beginning balance"><span style="-sec-ix-hidden: xdx2ixbrl1661">-</span></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="width: 80%; padding-bottom: 1.5pt">Acquisition</td><td style="width: 2%; padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; width: 1%; text-align: left">&#160;</td><td id="xdx_985_eus-gaap--PaymentsToAcquireBusinessesAndInterestInAffiliates_c20230101__20230630__srt--OwnershipAxis__custom--MendotaLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_z5odYIPDKiBj" style="border-bottom: Black 1.5pt solid; width: 16%; text-align: right" title="Distribution to noncontrolling interests, Acquisition">200,000</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: 1.5pt">Balance, June 30, 2023</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td id="xdx_981_eus-gaap--MinorityInterest_iE_c20230101__20230630__srt--OwnershipAxis__custom--MendotaLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_zNhAftE5Et9j" style="border-bottom: Black 1.5pt solid; text-align: right" title="Distribution to noncontrolling interests, Ending balance">200,000</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_FSI_ScheduleOfDistributionsTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Schedule of distributions [Table Text Block]</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">FSI_ScheduleOfDistributionsTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</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_FSI_ScheduleOfNonControllingInterestRelatedToAcquisitionTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Schedule of Non Controlling Interest Related to Acquisition [Table Text Block]</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">FSI_ScheduleOfNonControllingInterestRelatedToAcquisitionTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</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_NoncontrollingInterestAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NoncontrollingInterestAbstract</td>
</tr>
<tr>
<td style="padding-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>47
<FILENAME>R38.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/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.23.2</span><table class="report" border="0" cellspacing="2" id="idm139976173552800">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>SEGMENTED, SIGNIFICANT CUSTOMER INFORMATION AND ECONOMIC DEPENDENCY (Tables)<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SegmentReportingAbstract', window );"><strong>Segment Reporting [Abstract]</strong></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="Show.showAR( this, 'defref_us-gaap_ReconciliationOfRevenueFromSegmentsToConsolidatedTextBlock', window );">SCHEDULE OF REPORTABLE SEGMENTS</a></td>
<td class="text"><p id="xdx_89A_eus-gaap--ReconciliationOfRevenueFromSegmentsToConsolidatedTextBlock_zB5lCpW4EKlj" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8BD_zgdwHgW2mvH6" style="display: none">SCHEDULE
OF REPORTABLE SEGMENTS</span></span><span style="font-family: Times New Roman, Times, Serif">&#160;</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 85%; margin-right: auto">
  <tr style="vertical-align: bottom">
    <td style="text-align: justify">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_49A_20230401__20230630__srt--ProductOrServiceAxis__custom--EWCPMember__us-gaap--StatementBusinessSegmentsAxis__custom--SegmentMember_zRldm77H4yCl" style="border-bottom: Black 1.5pt solid; text-align: center">EWCP</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_49C_20230401__20230630__srt--ProductOrServiceAxis__custom--TPAMember__us-gaap--StatementBusinessSegmentsAxis__custom--SegmentMember_zWqFGIuZ9vr8" style="border-bottom: Black 1.5pt solid; text-align: center">TPA</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_494_20230401__20230630__us-gaap--StatementBusinessSegmentsAxis__custom--SegmentMember_zmSxeg0g8uFb" style="border-bottom: Black 1.5pt solid; text-align: center">Total</td><td style="padding-bottom: 1.5pt">&#160;</td></tr>
  <tr id="xdx_409_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_zCUz2ARy1Yfj" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 46%; text-align: justify">Revenue</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right">220,602</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">10,100,689</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">10,331,291</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--InterestExpense_z4TQMxUzcfSe" style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">Interest expense</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1677">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">115,498</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">115,498</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_407_eus-gaap--DepreciationNonproduction_zRhlBiljm7d2" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Depreciation and amortization</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">4,440</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">381,951</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">386,390</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_402_eus-gaap--IncomeTaxExpenseBenefit_zz0sFjM07wWi" style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">Income tax expense</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">11,657</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">342,715</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">354,372</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--NetIncomeLoss_z0YI7fL9eQD8" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Segment profit (loss)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(41,262</td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">851,127</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">809,865</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_ecustom--SegmentAssets_z95Bf0eWpikc" style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">Segment assets</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">3,257,019</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">49,544,894</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">52,801,913</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_406_eus-gaap--PaymentsToAcquirePropertyPlantAndEquipment_iN_di_zlAFdNdRQyY7" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Expenditures for segment assets</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1697">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(3,571,133</td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(3,571,133</td><td style="text-align: left">)</td></tr>
  </table>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Three
months ended June 30, 2022:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><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: 85%; margin-right: auto">
  <tr style="vertical-align: bottom">
    <td style="text-align: justify">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_49E_20220401__20220630__srt--ProductOrServiceAxis__custom--EWCPMember__us-gaap--StatementBusinessSegmentsAxis__custom--SegmentMember_zWGo4XsGoDti" style="border-bottom: Black 1.5pt solid; text-align: center">EWCP</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_49D_20220401__20220630__srt--ProductOrServiceAxis__custom--TPAMember__us-gaap--StatementBusinessSegmentsAxis__custom--SegmentMember_zcuBR8xENAoh" style="border-bottom: Black 1.5pt solid; text-align: center">TPA</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_496_20220401__20220630__us-gaap--StatementBusinessSegmentsAxis__custom--SegmentMember_ziH6G9p4Jghj" style="border-bottom: Black 1.5pt solid; text-align: center">Total</td><td style="padding-bottom: 1.5pt">&#160;</td></tr>
  <tr id="xdx_409_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_zuBvAHhRt9q8" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 46%; text-align: justify">Revenue</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right">189,569</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">10,975,574</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">11,165,143</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--InterestExpense_z598TfuL9hT4" style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">Interest expense</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1705">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">52,139</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">52,139</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_407_eus-gaap--DepreciationNonproduction_zGCfYCmzE6Rf" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Depreciation and amortization</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">9,202</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">230,588</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">239,790</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_402_eus-gaap--IncomeTaxExpenseBenefit_z631UQSbBmPj" style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">Income tax expense</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">11,306</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">531,496</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">542,802</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--NetIncomeLoss_zj1uvWPGFNE3" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Segment profit (loss)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(84,564</td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">1,747,019</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">1,662,455</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_ecustom--SegmentAssets_zFvYsZFB9Ma" style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">Segment assets</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">2,386,338</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">45,168,719</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">47,555,057</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_406_eus-gaap--PaymentsToAcquirePropertyPlantAndEquipment_iN_di_zoWdJNx2zqqd" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Expenditures for segment assets</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1725">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(245,383</td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(245,383</td><td style="text-align: left">)</td></tr>
  </table>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Six
months ended June 30, 2023:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><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: 85%; margin-right: auto">
  <tr style="vertical-align: bottom">
    <td style="text-align: justify">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_49E_20230101__20230630__srt--ProductOrServiceAxis__custom--EWCPMember__us-gaap--StatementBusinessSegmentsAxis__custom--SegmentMember_zdHXUTfw7RUk" style="border-bottom: Black 1.5pt solid; text-align: center">EWCP</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_499_20230101__20230630__srt--ProductOrServiceAxis__custom--TPAMember__us-gaap--StatementBusinessSegmentsAxis__custom--SegmentMember_zkqUiQD3TN8j" style="border-bottom: Black 1.5pt solid; text-align: center">TPA</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_49F_20230101__20230630__us-gaap--StatementBusinessSegmentsAxis__custom--SegmentMember_z4mUmI6Ar6ve" style="border-bottom: Black 1.5pt solid; text-align: center">Total</td><td style="padding-bottom: 1.5pt">&#160;</td></tr>
  <tr id="xdx_409_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_zpfak6L3f418" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 46%; text-align: justify">Revenue</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right">301,262</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">19,877,546</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">20,178,808</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--InterestExpense_zZY0TNv7qMS8" style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">Interest expense</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1733">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">250,368</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">250,368</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_407_eus-gaap--DepreciationNonproduction_z8kCrmaUnSRh" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Depreciation and amortization</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">8,719</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">742,855</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">751,574</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_402_eus-gaap--IncomeTaxExpenseBenefit_z43hc7eNf4L2" style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">Income tax expense</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">12,571</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">641,578</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">654,149</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--NetIncomeLoss_zxnDC5RSvCu1" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Segment profit (loss)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(192,990</td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">1,887,224</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">1,694,234</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_ecustom--SegmentAssets_zVulLeMhxOX9" style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">Segment assets</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">3,257,019</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">49,544,894</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">52,801,913</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_406_eus-gaap--PaymentsToAcquirePropertyPlantAndEquipment_iN_di_zdMgP6ooqV3" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Expenditures for segment assets</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1753">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(3,784,193</td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(3,784,193</td><td style="text-align: left">)</td></tr>
  </table>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Six
months ended June 30, 2022:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><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: 85%; margin-right: auto">
  <tr style="vertical-align: bottom">
    <td style="text-align: justify">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_490_20220101__20220630__srt--ProductOrServiceAxis__custom--EWCPMember__us-gaap--StatementBusinessSegmentsAxis__custom--SegmentMember_zJImNPBsDdBg" style="border-bottom: Black 1.5pt solid; text-align: center">EWCP</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_491_20220101__20220630__srt--ProductOrServiceAxis__custom--TPAMember__us-gaap--StatementBusinessSegmentsAxis__custom--SegmentMember_z033hGIFvJ3k" style="border-bottom: Black 1.5pt solid; text-align: center">TPA</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_495_20220101__20220630__us-gaap--StatementBusinessSegmentsAxis__custom--SegmentMember_zsRbv7Sl9VHc" style="border-bottom: Black 1.5pt solid; text-align: center">Total</td><td style="padding-bottom: 1.5pt">&#160;</td></tr>
  <tr id="xdx_409_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_zgwFx06dhq08" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 46%; text-align: justify">Revenue</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right">236,822</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">21,711,601</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">21,948,423</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--InterestExpense_zpvUlGwNiRp7" style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">Interest expense</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1761">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">109,757</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">109,757</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_407_eus-gaap--DepreciationNonproduction_zdXc3qZp8h4d" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Depreciation and amortization</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">18,446</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">453,832</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">472,278</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_402_eus-gaap--IncomeTaxExpenseBenefit_zwMOTJMeqH1j" style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">Income tax expense</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">11,306</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">1,243,942</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">1,255,248</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--NetIncomeLoss_z2VM4KN29D5c" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Segment profit (loss)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(208,737</td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">3,404,251</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">3,195,514</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_ecustom--SegmentAssets_z6U7I5QK2YCa" style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">Segment assets</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">2,386,338</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">45,168,719</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">47,555,057</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_406_eus-gaap--PaymentsToAcquirePropertyPlantAndEquipment_iN_di_zScdJBUzD3M" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Expenditures for segment assets</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1781">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(422,067</td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(422,067</td><td style="text-align: left">)</td></tr>
  </table>

<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock', window );">SCHEDULE OF REVENUE GENERATED IN UNITED STATES AND CANADA</a></td>
<td class="text"><p id="xdx_891_eus-gaap--ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock_zQBlM1SvLQA8" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.5in; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
sales generated in the United States and Canada are as follows:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.5in; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"></span><span style="display: none"><span id="xdx_8B3_zCxRdrHChQO">SCHEDULE OF REVENUE GENERATED IN UNITED STATES AND CANADA</span></span>&#160;</span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 75%; margin-right: auto">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_49E_20230101__20230630_zIn9CTbzLMd4" style="border-bottom: Black 1.5pt solid; text-align: center">Six months ended <br/> June 30, 2023</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_492_20220101__20220630_zZDt3iopyZqk" style="border-bottom: Black 1.5pt solid; text-align: center">Six months ended <br/> June 30, 2022</td><td style="padding-bottom: 1.5pt">&#160;</td></tr>
  <tr id="xdx_40E_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_hsrt--StatementGeographicalAxis__country--CA_zVRdumunHcEc" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 54%">Canada</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 18%; text-align: right">313,058</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: 20%; text-align: right">279,517</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_409_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_hsrt--StatementGeographicalAxis__custom--UnitedStatesandAbroadMember_zTq7tOWZlfyk" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1.5pt">United States and abroad</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">19,865,750</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">21,668,906</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_zEyMcFXoPmld" 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">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">20,178,808</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">21,948,423</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock', window );">SCHEDULE OF LONG-LIVED ASSETS ARE LOCATED IN CANADA AND UNITED STATES</a></td>
<td class="text"><p id="xdx_897_eus-gaap--ScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock_z8mphhs4cuRa" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company&#8217;s long-lived assets (property, equipment, leaseholds, intangibles, goodwill and right of use
assets) are located in Canada and the United States as follows:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;<span style="display: none"><span id="xdx_8B0_zWHDJKbLcXB4">SCHEDULE OF LONG-LIVED ASSETS ARE LOCATED IN CANADA AND UNITED STATES</span></span></span></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; margin-left: auto; border-collapse: collapse; width: 75%; margin-right: auto">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_491_20230630_zhuiEjesy1M3" style="border-bottom: Black 1.5pt solid; text-align: center">June 30, 2023</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_495_20221231_z9xjpH3bPkc9" style="border-bottom: Black 1.5pt solid; text-align: center">December 31, 2022</td><td style="padding-bottom: 1.5pt">&#160;</td></tr>
  <tr id="xdx_409_eus-gaap--NoncurrentAssets_iI_hsrt--StatementGeographicalAxis__country--CA_zd7nh4WvtGhc" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 54%">Canada</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 18%; text-align: right">151,300</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: 20%; text-align: right">150,890</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_407_eus-gaap--NoncurrentAssets_iI_hsrt--StatementGeographicalAxis__country--US_zVyFuaBS5pol" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1.5pt">United States</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">17,706,417</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">14,699,896</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_40A_eus-gaap--NoncurrentAssets_iI_zSBMke8xSs0k" 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">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">17,857,717</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">14,850,786</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_ReconciliationOfRevenueFromSegmentsToConsolidatedTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of all significant reconciling items in the reconciliation of total revenues from reportable segments to the entity's consolidated revenues.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ReconciliationOfRevenueFromSegmentsToConsolidatedTextBlock</td>
</tr>
<tr>
<td style="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_ScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the names of foreign countries in which material long-lived assets other than financial instruments, long-term customer relationships of a financial institution, mortgage and other servicing rights, deferred policy acquisition costs, and deferred tax assets are located, and amount of such long-lived assets located in that country or foreign geographic area.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-41<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock</td>
</tr>
<tr>
<td style="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_ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-41<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SegmentReportingAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SegmentReportingAbstract</td>
</tr>
<tr>
<td style="padding-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>48
<FILENAME>R39.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/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.23.2</span><table class="report" border="0" cellspacing="2" id="idm139976165487008">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>BASIS OF PRESENTATION (Details Narrative)<br></strong></div></th>
<th class="th" colspan="1">1 Months Ended</th>
<th class="th" colspan="2">6 Months Ended</th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jun. 30, 2023</div></th>
<th class="th"><div>Jun. 30, 2023</div></th>
<th class="th"><div>Jun. 30, 2022</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_OwnershipAxis=FSI_EnpPeruInvestmentsLlcMember', window );">Enp Peru Investments Llc [Member]</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>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest', window );">Subsidiary company ownership interest rate related party</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">100.00%<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="Show.showAR( this, 'defref_srt_OwnershipAxis=FSI_ENPInvestmentsLLCAndENPMendotaMember', window );">ENP Investments LLC and ENP Mendota [Member]</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>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest', window );">Subsidiary company ownership interest rate related party</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">65.00%<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="Show.showAR( this, 'defref_srt_OwnershipAxis=FSI_ENPPeruMember', window );">ENP Peru [Member]</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>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest', window );">Subsidiary company ownership interest rate related party</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">100.00%<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="Show.showAR( this, 'defref_FSI_IncreaseDecreaseInSharePercentage', window );">Increase decrease in share percentage</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="nump">50.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="Show.showAR( this, 'defref_FSI_RemainingInvestmentOwnedPercentage', window );">Remaining investment owned percentage</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="nump">8.33%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_OwnershipAxis=FSI_ENPPeruMember', window );">ENP Peru [Member] | Unrelated Party [Member]</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>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest', window );">Subsidiary company ownership interest rate related party</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="nump">50.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="Show.showAR( this, 'defref_srt_OwnershipAxis=FSI_MendotaLLCMember', window );">Mendota LLC [Member]</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>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest', window );">Subsidiary company ownership interest rate related party</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">80.00%<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="Show.showAR( this, 'defref_srt_OwnershipAxis=FSI_MendotaLLCMember', window );">Mendota LLC [Member] | Unrelated Party [Member]</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>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest', window );">Subsidiary company ownership interest rate related party</a></td>
<td class="nump">80.00%<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="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_OwnershipAxis=FSI_MendotaLLCMember', window );">Mendota LLC [Member] | Related Party [Member]</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>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest', window );">Subsidiary company ownership interest rate related party</a></td>
<td class="nump">20.00%<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_FSI_IncreaseDecreaseInSharePercentage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Increase decrease in share percentage.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">FSI_IncreaseDecreaseInSharePercentage</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</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_FSI_RemainingInvestmentOwnedPercentage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Remaining investment owned percentage.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">FSI_RemainingInvestmentOwnedPercentage</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</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_SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The number of units or percentage investment held in the subsidiary by the limited liability company or limited partnership.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest</td>
</tr>
<tr>
<td style="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_srt_OwnershipAxis=FSI_EnpPeruInvestmentsLlcMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_OwnershipAxis=FSI_EnpPeruInvestmentsLlcMember</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_OwnershipAxis=FSI_ENPInvestmentsLLCAndENPMendotaMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_OwnershipAxis=FSI_ENPInvestmentsLLCAndENPMendotaMember</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_OwnershipAxis=FSI_ENPPeruMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_OwnershipAxis=FSI_ENPPeruMember</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_RelatedPartyTransactionsByRelatedPartyAxis=FSI_UnrelatedPartyMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_RelatedPartyTransactionsByRelatedPartyAxis=FSI_UnrelatedPartyMember</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_OwnershipAxis=FSI_MendotaLLCMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_OwnershipAxis=FSI_MendotaLLCMember</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_RelatedPartyTransactionsByRelatedPartyAxis=us-gaap_RelatedPartyMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_RelatedPartyTransactionsByRelatedPartyAxis=us-gaap_RelatedPartyMember</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>49
<FILENAME>R40.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/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.23.2</span><table class="report" border="0" cellspacing="2" id="idm139976165562384">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>SCHEDULE OF METHOD OF DEPRECIATION (Details)<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 2023</div></th></tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_ComputerEquipmentMember', window );">Computer Equipment [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="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>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_FSI_DepreciationMethodUsedAndAnnualRate', window );">Depreciation method used and annual rate</a></td>
<td class="text">30%
    Declining balance<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_MachineryAndEquipmentMember', window );">Machinery and Equipment [Member]</a></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="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>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_FSI_DepreciationMethodUsedAndAnnualRate', window );">Depreciation method used and annual rate</a></td>
<td class="text">20%
    Declining balance<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_OfficeEquipmentMember', window );">Office Equipment [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="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>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_FSI_DepreciationMethodUsedAndAnnualRate', window );">Depreciation method used and annual rate</a></td>
<td class="text">20%
    Declining balance<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=FSI_BoatMember', window );">Boat [Member]</a></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="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>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_FSI_DepreciationMethodUsedAndAnnualRate', window );">Depreciation method used and annual rate</a></td>
<td class="text">20%
    Declining balance<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_BuildingAndBuildingImprovementsMember', window );">Building and Building Improvements [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="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>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_FSI_DepreciationMethodUsedAndAnnualRate', window );">Depreciation method used and annual rate</a></td>
<td class="text">10%
    Declining balance<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=FSI_TrailerMember', window );">Trailer [Member]</a></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="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>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_FSI_DepreciationMethodUsedAndAnnualRate', window );">Depreciation method used and annual rate</a></td>
<td class="text">30%
    Declining balance<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_AutomobilesMember', window );">Automobiles [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="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>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_FSI_DepreciationMethodUsedAndAnnualRate', window );">Depreciation method used and annual rate</a></td>
<td class="text">Straight-line
    over 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="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_PatentsMember', window );">Patents [Member]</a></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="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>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_FSI_DepreciationMethodUsedAndAnnualRate', window );">Depreciation method used and annual rate</a></td>
<td class="text">Straight-line
    over 17 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="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_TechnologyEquipmentMember', window );">Technology Equipment [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="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>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_FSI_DepreciationMethodUsedAndAnnualRate', window );">Depreciation method used and annual rate</a></td>
<td class="text">Straight-line
    over 10 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="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_LeaseholdImprovementsMember', window );">Leasehold Improvements [Member]</a></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="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>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_FSI_DepreciationMethodUsedAndAnnualRate', window );">Depreciation method used and annual rate</a></td>
<td class="text">Straight-line
    over lease term<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_CustomerRelationshipsMember', window );">Customer Relationships [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="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>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_FSI_DepreciationMethodUsedAndAnnualRate', window );">Depreciation method used and annual rate</a></td>
<td class="text">Straight-line
    over 15 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="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=FSI_SoftwareMember', window );">Software [Member]</a></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="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>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_FSI_DepreciationMethodUsedAndAnnualRate', window );">Depreciation method used and annual rate</a></td>
<td class="text">Straight-line
    over 3 years<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_FSI_DepreciationMethodUsedAndAnnualRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Depreciation method used and annual rate.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">FSI_DepreciationMethodUsedAndAnnualRate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</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_PropertyPlantAndEquipmentLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_PropertyPlantAndEquipmentByTypeAxis=us-gaap_ComputerEquipmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_ComputerEquipmentMember</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_MachineryAndEquipmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_MachineryAndEquipmentMember</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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=FSI_BoatMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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=FSI_BoatMember</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_BuildingAndBuildingImprovementsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_BuildingAndBuildingImprovementsMember</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=FSI_TrailerMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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=FSI_TrailerMember</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_AutomobilesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_AutomobilesMember</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_PatentsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_PatentsMember</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_TechnologyEquipmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_TechnologyEquipmentMember</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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_CustomerRelationshipsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_CustomerRelationshipsMember</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=FSI_SoftwareMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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=FSI_SoftwareMember</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>50
<FILENAME>R41.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/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.23.2</span><table class="report" border="0" cellspacing="2" id="idm139976164858224">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>SIGNIFICANT ACCOUNTING POLICIES (Details Narrative) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="2">6 Months Ended</th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jun. 30, 2023</div></th>
<th class="th"><div>Jun. 30, 2022</div></th>
<th class="th"><div>Jun. 30, 2023</div></th>
<th class="th"><div>Jun. 30, 2022</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="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>
<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="Show.showAR( this, 'defref_us-gaap_Deposits', window );">Deposit</a></td>
<td class="nump">$ 700,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 700,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" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PercentageOfInterestBearingDomesticDepositsToDepositsTimeDeposits', window );">Term deposits percent</a></td>
<td class="nump">8.25%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">8.25%<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="Show.showAR( this, 'defref_us-gaap_InterestPayableCurrentAndNoncurrent', window );">Accured interest</a></td>
<td class="nump">$ 150<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 150<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="Show.showAR( this, 'defref_FSI_OtherTermDeposit', window );">Other term deposit</a></td>
<td class="nump">300,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">300,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" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Sale</a></td>
<td class="nump">10,331,291<span></span>
</td>
<td class="nump">$ 11,165,143<span></span>
</td>
<td class="nump">20,178,808<span></span>
</td>
<td class="nump">$ 21,948,423<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="Show.showAR( this, 'defref_us-gaap_CostOfGoodsAndServicesSold', window );">Cost of sales</a></td>
<td class="nump">7,292,438<span></span>
</td>
<td class="nump">7,303,537<span></span>
</td>
<td class="nump">$ 14,054,963<span></span>
</td>
<td class="nump">14,274,916<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="Show.showAR( this, 'defref_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis=FSI_InvestmentMember', window );">Investment [Member]</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">&#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="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>
<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="Show.showAR( this, 'defref_us-gaap_EquityMethodInvestmentDescriptionOfPrincipalActivities', window );">Equity method investment, description</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">Significant influence is generally deemed to exist if the Company&#8217;s
ownership interest in the voting stock of the investee ranges between 20% and 50%, although other factors, such as representation on
the investee&#8217;s board of directors, are considered in determining whether the equity method of accounting is appropriate<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="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskByTypeAxis=FSI_ThreePrimaryCustomersMember', window );">Three Primary Customers [Member]</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">&#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="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>
<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="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Sale</a></td>
<td class="nump">$ 5,172,025<span></span>
</td>
<td class="nump">$ 5,889,266<span></span>
</td>
<td class="nump">$ 10,681,892<span></span>
</td>
<td class="nump">$ 11,597,726<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="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskByTypeAxis=FSI_ThreePrimaryCustomersMember', window );">Three Primary Customers [Member] | Revenue from Contract with Customer Benchmark [Member]</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">&#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="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>
<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="Show.showAR( this, 'defref_FSI_ConcentrationRiskThresholdPercentage', window );">Accounts receivable, after allowance for credit loss, percentage</a></td>
<td class="nump">50.00%<span></span>
</td>
<td class="nump">53.00%<span></span>
</td>
<td class="nump">53.00%<span></span>
</td>
<td class="nump">53.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="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskByTypeAxis=FSI_ThreePrimaryCustomersMember', window );">Three Primary Customers [Member] | Accounts Receivable [Member]</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">&#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="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>
<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="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Sale</a></td>
<td class="nump">$ 4,172,657<span></span>
</td>
<td class="nump">$ 2,409,089<span></span>
</td>
<td class="nump">$ 3,277,945<span></span>
</td>
<td class="nump">$ 2,409,089<span></span>
</td>
<td class="nump">$ 6,124,424<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="Show.showAR( this, 'defref_FSI_ConcentrationRiskThresholdPercentage', window );">Accounts receivable, after allowance for credit loss, percentage</a></td>
<td class="nump">56.00%<span></span>
</td>
<td class="nump">36.00%<span></span>
</td>
<td class="nump">44.00%<span></span>
</td>
<td class="nump">36.00%<span></span>
</td>
<td class="nump">65.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="Show.showAR( this, 'defref_srt_ProductOrServiceAxis=us-gaap_ShippingAndHandlingMember', window );">Shipping and Handling [Member]</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">&#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="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>
<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="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Sale</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 286,290<span></span>
</td>
<td class="nump">$ 231,106<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="Show.showAR( this, 'defref_us-gaap_CostOfGoodsAndServicesSold', window );">Cost of sales</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 542,321<span></span>
</td>
<td class="nump">$ 580,697<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_FSI_ConcentrationRiskThresholdPercentage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Concentration Risk Threshold Percentage.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">FSI_ConcentrationRiskThresholdPercentage</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</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_FSI_OtherTermDeposit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Other term deposit.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">FSI_OtherTermDeposit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</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_CostOfGoodsAndServicesSold">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate costs related to goods produced and sold and services rendered by an entity during the reporting period. This excludes costs incurred during the reporting period related to financial services rendered and other revenue generating activities.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 924<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479941/924-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.2(a),(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CostOfGoodsAndServicesSold</td>
</tr>
<tr>
<td style="padding-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_Deposits">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate of all deposit liabilities held by the entity, including foreign and domestic, interest and noninterest bearing; may include demand deposits, saving deposits, Negotiable Order of Withdrawal (NOW) and time deposits among others.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03.12)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Deposits</td>
</tr>
<tr>
<td style="padding-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_EquityMethodInvestmentDescriptionOfPrincipalActivities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>A description of the principal activities of an investee accounted for under the equity method.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EquityMethodInvestmentDescriptionOfPrincipalActivities</td>
</tr>
<tr>
<td style="padding-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_InterestPayableCurrentAndNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of interest payable on debt, including, but not limited to, trade payables.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(15)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03.15(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InterestPayableCurrentAndNoncurrent</td>
</tr>
<tr>
<td style="padding-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_PercentageOfInterestBearingDomesticDepositsToDepositsTimeDeposits">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Percentage of interest-bearing domestic time deposit liabilities to total deposit liabilities.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PercentageOfInterestBearingDomesticDepositsToDepositsTimeDeposits</td>
</tr>
<tr>
<td style="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_ProductInformationLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_RevenueFromContractWithCustomerExcludingAssessedTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 924<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479941/924-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-5<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 42<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-42<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-40<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-41<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis=FSI_InvestmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis=FSI_InvestmentMember</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=FSI_ThreePrimaryCustomersMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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=FSI_ThreePrimaryCustomersMember</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_RevenueFromContractWithCustomerMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_RevenueFromContractWithCustomerMember</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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_ProductOrServiceAxis=us-gaap_ShippingAndHandlingMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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=us-gaap_ShippingAndHandlingMember</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>51
<FILENAME>R42.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/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.23.2</span><table class="report" border="0" cellspacing="2" id="idm139976165042160">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>SUMMARY OF RIGHT-OF-USE ASSET AND LEASE LIABILITY (Details) - USD ($)<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jun. 30, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_FSI_DisclosureLeases.Abstract', window );"><strong>Leases.</strong></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="Show.showAR( this, 'defref_us-gaap_OperatingLeaseRightOfUseAsset', window );">Right of use assets, beginning balance</a></td>
<td class="nump">$ 167,222<span></span>
</td>
<td class="nump">$ 217,267<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense', window );">Depreciation</a></td>
<td class="num">(25,687)<span></span>
</td>
<td class="num">(50,045)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseRightOfUseAsset', window );">Right of use assets, ending balance</a></td>
<td class="nump">141,535<span></span>
</td>
<td class="nump">167,222<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiability', window );">Lease liability, beginning balance</a></td>
<td class="nump">167,222<span></span>
</td>
<td class="nump">217,267<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="Show.showAR( this, 'defref_FSI_LeaseInterestExpense', window );">Lease interest expense</a></td>
<td class="nump">3,353<span></span>
</td>
<td class="nump">8,566<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeasePayments', window );">Payments</a></td>
<td class="num">(29,040)<span></span>
</td>
<td class="num">(58,611)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiability', window );">Lease liability, ending balance</a></td>
<td class="nump">141,535<span></span>
</td>
<td class="nump">167,222<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiabilityCurrent', window );">Short-term portion</a></td>
<td class="nump">58,800<span></span>
</td>
<td class="nump">58,080<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiabilityNoncurrent', window );">Long-term portion</a></td>
<td class="nump">82,735<span></span>
</td>
<td class="nump">109,142<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiability', window );">Total</a></td>
<td class="nump">$ 141,535<span></span>
</td>
<td class="nump">$ 167,222<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_FSI_DisclosureLeases.Abstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">FSI_DisclosureLeases.Abstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</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_FSI_LeaseInterestExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Lease interest expense.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">FSI_LeaseInterestExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</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_OperatingLeaseLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from operating lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479041/842-20-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiability</td>
</tr>
<tr>
<td style="padding-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_OperatingLeaseLiabilityCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from operating lease, classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479041/842-20-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiabilityCurrent</td>
</tr>
<tr>
<td style="padding-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_OperatingLeaseLiabilityNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from operating lease, classified as noncurrent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479041/842-20-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiabilityNoncurrent</td>
</tr>
<tr>
<td style="padding-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_OperatingLeasePayments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash outflow from operating lease, excluding payments to bring another asset to condition and location necessary for its intended use.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 5<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479041/842-20-45-5<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (g)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeasePayments</td>
</tr>
<tr>
<td style="padding-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_OperatingLeaseRightOfUseAsset">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's right to use underlying asset under operating lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479041/842-20-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseRightOfUseAsset</td>
</tr>
<tr>
<td style="padding-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_OperatingLeaseRightOfUseAssetAmortizationExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of periodic reduction over lease term of carrying amount of right-of-use asset from operating lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense</td>
</tr>
<tr>
<td style="padding-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>52
<FILENAME>R43.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/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.23.2</span><table class="report" border="0" cellspacing="2" id="idm139976171746288">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>SCHEDULE OF UNDISCOUNTED RENT PAYMENTS (Details) - USD ($)<br></strong></div></th>
<th class="th"><div>Jun. 30, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</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="Show.showAR( this, 'defref_FSI_DisclosureLeases.Abstract', window );"><strong>Leases.</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" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear', window );">2023</a></td>
<td class="nump">$ 29,040<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="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths', window );">2024</a></td>
<td class="nump">59,520<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="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo', window );">2025</a></td>
<td class="nump">61,020<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue', window );">Total</a></td>
<td class="nump">149,580<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="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount', window );">Impact of discounting</a></td>
<td class="num">(8,045)<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="Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiability', window );">Lease liability, June 30, 2023</a></td>
<td class="nump">$ 141,535<span></span>
</td>
<td class="nump">$ 167,222<span></span>
</td>
<td class="nump">$ 217,267<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_FSI_DisclosureLeases.Abstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">FSI_DisclosureLeases.Abstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</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_LesseeOperatingLeaseLiabilityPaymentsDue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for operating lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue</td>
</tr>
<tr>
<td style="padding-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_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths</td>
</tr>
<tr>
<td style="padding-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_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo</td>
</tr>
<tr>
<td style="padding-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_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for operating lease having initial or remaining lease term in excess of one year to be paid in remainder of current fiscal year.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear</td>
</tr>
<tr>
<td style="padding-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_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payments in excess of discounted obligation for lease payments for operating lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount</td>
</tr>
<tr>
<td style="padding-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_OperatingLeaseLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from operating lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479041/842-20-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiability</td>
</tr>
<tr>
<td style="padding-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>53
<FILENAME>R44.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/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.23.2</span><table class="report" border="0" cellspacing="2" id="idm139976175750992">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>LEASES. (Details Narrative)<br></strong></div></th>
<th class="th"><div>Jun. 30, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_FSI_DisclosureLeases.Abstract', window );"><strong>Leases.</strong></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="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseDiscountRate', window );">Operating leases discount rate</a></td>
<td class="nump">5.50%<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_FSI_DisclosureLeases.Abstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">FSI_DisclosureLeases.Abstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</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_LesseeOperatingLeaseDiscountRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Discount rate used by lessee to determine present value of operating lease payments.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseDiscountRate</td>
</tr>
<tr>
<td style="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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>54
<FILENAME>R45.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/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.23.2</span><table class="report" border="0" cellspacing="2" id="idm139976172769360">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>SCHEDULE OF ACCOUNTS RECEIVABLE (Details) - USD ($)<br></strong></div></th>
<th class="th"><div>Jun. 30, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ReceivablesAbstract', window );"><strong>Receivables [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" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountsReceivableGross', window );">Accounts receivable</a></td>
<td class="nump">$ 7,725,203<span></span>
</td>
<td class="nump">$ 9,739,150<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AllowanceForDoubtfulAccountsPremiumsAndOtherReceivables', window );">Allowances for doubtful accounts</a></td>
<td class="num">(290,153)<span></span>
</td>
<td class="num">(289,293)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountsAndNotesReceivableNet', window );">Total accounts receivable</a></td>
<td class="nump">$ 7,435,050<span></span>
</td>
<td class="nump">$ 9,449,857<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_AccountsAndNotesReceivableNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after allowance for credit loss, of accounts and financing receivable. Includes, but is not limited to, notes and loan receivable.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481990/310-10-45-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsAndNotesReceivableNet</td>
</tr>
<tr>
<td style="padding-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_AccountsReceivableGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(3)(a)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481990/310-10-45-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsReceivableGross</td>
</tr>
<tr>
<td style="padding-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_AllowanceForDoubtfulAccountsPremiumsAndOtherReceivables">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The valuation allowance as of the balance sheet date to reduce the gross amount of receivables to estimated net realizable value, which would be presented in parentheses on the face of the balance sheet.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481962/310-10-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AllowanceForDoubtfulAccountsPremiumsAndOtherReceivables</td>
</tr>
<tr>
<td style="padding-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_ReceivablesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ReceivablesAbstract</td>
</tr>
<tr>
<td style="padding-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>55
<FILENAME>R46.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/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.23.2</span><table class="report" border="0" cellspacing="2" id="idm139976176621888">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>SCHEDULE OF INVENTORY (Details) - USD ($)<br></strong></div></th>
<th class="th"><div>Jun. 30, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryDisclosureAbstract', window );"><strong>Inventory 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" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryFinishedGoods', window );">Completed goods</a></td>
<td class="nump">$ 3,280,008<span></span>
</td>
<td class="nump">$ 3,806,646<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryRawMaterialsAndSupplies', window );">Raw materials and supplies</a></td>
<td class="nump">8,036,221<span></span>
</td>
<td class="nump">10,612,784<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryNet', window );">Total inventory</a></td>
<td class="nump">$ 11,316,229<span></span>
</td>
<td class="nump">$ 14,419,430<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_InventoryDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-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_InventoryFinishedGoods">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(a)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483467/210-10-45-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_InventoryRawMaterialsAndSupplies">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Gross amount of unprocessed materials to be used in manufacturing or production process and supplies that will be consumed.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryRawMaterialsAndSupplies</td>
</tr>
<tr>
<td style="padding-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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>56
<FILENAME>R47.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/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.23.2</span><table class="report" border="0" cellspacing="2" id="idm139976171002656">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>SCHEDULE OF PROPERTY, EQUIPMENT AND LEASEHOLDS (Details) - USD ($)<br></strong></div></th>
<th class="th"><div>Jun. 30, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="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" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentGross', window );">Cost</a></td>
<td class="nump">$ 22,189,708<span></span>
</td>
<td class="nump">$ 18,399,675<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment', window );">Accumulated Depreciation</a></td>
<td class="nump">9,367,801<span></span>
</td>
<td class="nump">8,690,387<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentNet', window );">Property, plant and equipment, net, total</a></td>
<td class="nump">12,821,907<span></span>
</td>
<td class="nump">9,709,288<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_BuildingAndBuildingImprovementsMember', window );">Building and Building 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="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" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentGross', window );">Cost</a></td>
<td class="nump">12,065,617<span></span>
</td>
<td class="nump">8,775,629<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment', window );">Accumulated Depreciation</a></td>
<td class="nump">3,572,013<span></span>
</td>
<td class="nump">3,310,920<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentNet', window );">Property, plant and equipment, net, total</a></td>
<td class="nump">8,493,604<span></span>
</td>
<td class="nump">5,464,709<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_AutomobilesMember', window );">Automobiles [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="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" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentGross', window );">Cost</a></td>
<td class="nump">196,255<span></span>
</td>
<td class="nump">196,255<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment', window );">Accumulated Depreciation</a></td>
<td class="nump">124,924<span></span>
</td>
<td class="nump">107,055<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentNet', window );">Property, plant and equipment, net, total</a></td>
<td class="nump">71,331<span></span>
</td>
<td class="nump">89,200<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_ComputerEquipmentMember', window );">Computer 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="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" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentGross', window );">Cost</a></td>
<td class="nump">43,490<span></span>
</td>
<td class="nump">43,432<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment', window );">Accumulated Depreciation</a></td>
<td class="nump">42,826<span></span>
</td>
<td class="nump">42,663<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentNet', window );">Property, plant and equipment, net, total</a></td>
<td class="nump">664<span></span>
</td>
<td class="nump">769<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="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="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="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" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentGross', window );">Cost</a></td>
<td class="nump">134,233<span></span>
</td>
<td class="nump">133,280<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment', window );">Accumulated Depreciation</a></td>
<td class="nump">117,826<span></span>
</td>
<td class="nump">112,782<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentNet', window );">Property, plant and equipment, net, total</a></td>
<td class="nump">16,407<span></span>
</td>
<td class="nump">20,498<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_MachineryAndEquipmentMember', window );">Machinery and 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="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" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentGross', window );">Cost</a></td>
<td class="nump">9,074,006<span></span>
</td>
<td class="nump">8,634,063<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment', window );">Accumulated Depreciation</a></td>
<td class="nump">5,281,191<span></span>
</td>
<td class="nump">4,891,736<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentNet', window );">Property, plant and equipment, net, total</a></td>
<td class="nump">3,792,815<span></span>
</td>
<td class="nump">3,742,327<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=FSI_TrailerMember', window );">Trailer [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="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" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentGross', window );">Cost</a></td>
<td class="nump">9,061<span></span>
</td>
<td class="nump">8,857<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment', window );">Accumulated Depreciation</a></td>
<td class="nump">7,961<span></span>
</td>
<td class="nump">7,592<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentNet', window );">Property, plant and equipment, net, total</a></td>
<td class="nump">1,100<span></span>
</td>
<td class="nump">1,265<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=FSI_BoatMember', window );">Boat [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="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" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentGross', window );">Cost</a></td>
<td class="nump">34,400<span></span>
</td>
<td class="nump">34,400<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment', window );">Accumulated Depreciation</a></td>
<td class="nump">29,006<span></span>
</td>
<td class="nump">27,907<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentNet', window );">Property, plant and equipment, net, total</a></td>
<td class="nump">5,394<span></span>
</td>
<td class="nump">6,493<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="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="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" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentGross', window );">Cost</a></td>
<td class="nump">88,872<span></span>
</td>
<td class="nump">88,872<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment', window );">Accumulated Depreciation</a></td>
<td class="nump">88,872<span></span>
</td>
<td class="nump">88,872<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentNet', window );">Property, plant and equipment, net, total</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="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_DevelopedTechnologyRightsMember', window );">Developed Technology Rights [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="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" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentGross', window );">Cost</a></td>
<td class="nump">103,182<span></span>
</td>
<td class="nump">100,860<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment', window );">Accumulated Depreciation</a></td>
<td class="nump">103,182<span></span>
</td>
<td class="nump">100,860<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentNet', window );">Property, plant and equipment, net, total</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="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_LandMember', window );">Land [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="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" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentGross', window );">Cost</a></td>
<td class="nump">440,592<span></span>
</td>
<td class="nump">384,027<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment', window );">Accumulated Depreciation</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="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentNet', window );">Property, plant and equipment, net, total</a></td>
<td class="nump">$ 440,592<span></span>
</td>
<td class="nump">$ 384,027<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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(8)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(14))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482099/360-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(8))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(13))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 360<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482099/360-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -SubTopic 10<br> -Topic 360<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482099/360-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(8))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 360<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480842/942-360-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_PropertyPlantAndEquipmentByTypeAxis=us-gaap_BuildingAndBuildingImprovementsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_BuildingAndBuildingImprovementsMember</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_AutomobilesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_AutomobilesMember</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_ComputerEquipmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_ComputerEquipmentMember</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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_MachineryAndEquipmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_MachineryAndEquipmentMember</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=FSI_TrailerMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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=FSI_TrailerMember</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=FSI_BoatMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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=FSI_BoatMember</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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_DevelopedTechnologyRightsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_DevelopedTechnologyRightsMember</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_LandMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_LandMember</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>R48.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/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.23.2</span><table class="report" border="0" cellspacing="2" id="idm139976173530096">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>PROPERTY, EQUIPMENT &amp; LEASEHOLDS. (Details Narrative) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">6 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jun. 30, 2023</div></th>
<th class="th"><div>Jun. 30, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentAbstract', window );"><strong>Property, Plant and Equipment [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" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Depreciation', window );">Depreciation</a></td>
<td class="nump">$ 671,574<span></span>
</td>
<td class="nump">$ 384,058<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_Depreciation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of expense recognized in the current period that reflects the allocation of the cost of tangible assets over the assets' useful lives. Includes production and non-production related depreciation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482099/360-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Depreciation</td>
</tr>
<tr>
<td style="padding-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_PropertyPlantAndEquipmentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>58
<FILENAME>R49.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/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.23.2</span><table class="report" border="0" cellspacing="2" id="idm139976173519856">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>SCHEDULE OF PATENTS (Details) - USD ($)<br></strong></div></th>
<th class="th"><div>Jun. 30, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="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>
<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="Show.showAR( this, 'defref_us-gaap_FiniteLivedPatentsGross', window );">Patents, cost</a></td>
<td class="nump">$ 200,232<span></span>
</td>
<td class="nump">$ 195,725<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization', window );">Accumulated amortization</a></td>
<td class="nump">200,232<span></span>
</td>
<td class="nump">195,725<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsNet', window );">Patents, net</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_FiniteLivedIntangibleAssetsAccumulatedAmortization">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(16))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_FiniteLivedIntangibleAssetsNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 926<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483154/926-20-50-5<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_FiniteLivedPatentsGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Gross carrying amount before accumulated amortization as of the balance sheet date of the costs pertaining to the exclusive legal rights granted to the owner of the patent to exploit an invention or a process for a period of time specified by law. Such costs may have been expended to directly apply and receive patent rights, or to acquire such rights.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedPatentsGross</td>
</tr>
<tr>
<td style="padding-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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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>59
<FILENAME>R50.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/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.23.2</span><table class="report" border="0" cellspacing="2" id="idm139976171784176">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>SCHEDULE OF GOODWILL AND INDEFINITE LIVED INTANGIBLE ASSETS (Details) - USD ($)<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
<th class="th" colspan="1">12 Months Ended</th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Jun. 30, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</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="Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Goodwill</a></td>
<td class="nump">$ 2,534,275<span></span>
</td>
<td class="nump">$ 2,534,275<span></span>
</td>
<td class="nump">$ 2,534,275<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IndefiniteLivedIntangibleAssetsExcludingGoodwill', window );">Indefinite lived intangible assets, ending balance</a></td>
<td class="nump">770,000<span></span>
</td>
<td class="nump">770,000<span></span>
</td>
<td class="nump">770,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IndefiniteLivedIntangibleAssetsExcludingGoodwill', window );">Indefinite lived intangible assets, beginning balance</a></td>
<td class="nump">770,000<span></span>
</td>
<td class="nump">770,000<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="Show.showAR( this, 'defref_us-gaap_IndefiniteLivedIntangibleAssetsExcludingGoodwill', window );">Indefinite lived intangible assets, ending balance</a></td>
<td class="nump">770,000<span></span>
</td>
<td class="nump">770,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="Show.showAR( this, 'defref_dei_LegalEntityAxis=FSI_EnPInvestmentsCorporationLLCMember', window );">ENP Investments Limited Liability Corporation (LLC) [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="Show.showAR( this, 'defref_us-gaap_IndefiniteLivedIntangibleAssetsExcludingGoodwill', window );">Indefinite lived intangible assets, ending balance</a></td>
<td class="nump">1,590,000<span></span>
</td>
<td class="nump">1,670,000<span></span>
</td>
<td class="nump">$ 1,830,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IndefiniteLivedIntangibleAssetsExcludingGoodwill', window );">Indefinite lived intangible assets, beginning balance</a></td>
<td class="nump">1,670,000<span></span>
</td>
<td class="nump">1,830,000<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="Show.showAR( this, 'defref_us-gaap_AmortizationOfIntangibleAssets', window );">Amortization</a></td>
<td class="num">(80,000)<span></span>
</td>
<td class="num">(160,000)<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="Show.showAR( this, 'defref_us-gaap_IndefiniteLivedIntangibleAssetsExcludingGoodwill', window );">Indefinite lived intangible assets, ending balance</a></td>
<td class="nump">$ 1,590,000<span></span>
</td>
<td class="nump">$ 1,670,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_AmortizationOfIntangibleAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate expense charged against earnings to allocate the cost of intangible assets (nonphysical assets not used in production) in a systematic and rational manner to the periods expected to benefit from such assets. As a noncash expense, this element is added back to net income when calculating cash provided by or used in operations using the indirect method.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482686/350-30-45-2<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AmortizationOfIntangibleAssets</td>
</tr>
<tr>
<td style="padding-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_Goodwill">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482548/350-20-55-24<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(15))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482598/350-20-45-1<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482573/350-20-50-1<br><br>Reference 6: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (h)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482573/350-20-50-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(10)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_IndefiniteLivedIntangibleAssetsExcludingGoodwill">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of assets, excluding financial assets and goodwill, lacking physical substance and having a projected indefinite period of benefit.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IndefiniteLivedIntangibleAssetsExcludingGoodwill</td>
</tr>
<tr>
<td style="padding-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_dei_LegalEntityAxis=FSI_EnPInvestmentsCorporationLLCMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_LegalEntityAxis=FSI_EnPInvestmentsCorporationLLCMember</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>R51.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/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.23.2</span><table class="report" border="0" cellspacing="2" id="idm139976177266080">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>SCHEDULE OF ESTIMATED FUTURE AMORTIZATION EXPENSE (Details) - Finite-Lived Intangible Assets [Member]<br></strong></div></th>
<th class="th">
<div>Jun. 30, 2023 </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="Show.showAR( this, 'defref_us-gaap_ImpairmentEffectsOnEarningsPerShareLineItems', window );"><strong>Impairment Effects on Earnings Per Share [Line Items]</strong></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="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear', window );">2023</a></td>
<td class="nump">$ 160,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths', window );">2024</a></td>
<td class="nump">160,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo', window );">2025</a></td>
<td class="nump">160,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree', window );">2026</a></td>
<td class="nump">160,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour', window );">2027</a></td>
<td class="nump">$ 160,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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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 remainder of current fiscal year.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear</td>
</tr>
<tr>
<td style="padding-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_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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 fourth 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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour</td>
</tr>
<tr>
<td style="padding-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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_ImpairmentEffectsOnEarningsPerShareLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ImpairmentEffectsOnEarningsPerShareLineItems</td>
</tr>
<tr>
<td style="padding-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_FairValueByAssetClassAxis=us-gaap_FiniteLivedIntangibleAssetsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_FairValueByAssetClassAxis=us-gaap_FiniteLivedIntangibleAssetsMember</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>R52.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/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.23.2</span><table class="report" border="0" cellspacing="2" id="idm139976176640832">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>PATENTS. (Details Narrative) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">6 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jun. 30, 2023</div></th>
<th class="th"><div>Jun. 30, 2022</div></th>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_PatentsMember', window );">Patents [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="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" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AmortizationOfIntangibleAssets', window );">Amortization of intangible assets</a></td>
<td class="text"> <span></span>
</td>
<td class="nump">$ 4,110<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_AmortizationOfIntangibleAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate expense charged against earnings to allocate the cost of intangible assets (nonphysical assets not used in production) in a systematic and rational manner to the periods expected to benefit from such assets. As a noncash expense, this element is added back to net income when calculating cash provided by or used in operations using the indirect method.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482686/350-30-45-2<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AmortizationOfIntangibleAssets</td>
</tr>
<tr>
<td style="padding-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_FiniteLivedIntangibleAssetsLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 926<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483154/926-20-50-5<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_PatentsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_PatentsMember</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>62
<FILENAME>R53.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/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.23.2</span><table class="report" border="0" cellspacing="2" id="idm139976176631056">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>SCHEDULE OF LONG TERM DEPOSITS (Details) - USD ($)<br></strong></div></th>
<th class="th"><div>Jun. 30, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_FSI_DisclosureLongTermDeposits.Abstract', window );"><strong>Long Term Deposits.</strong></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="Show.showAR( this, 'defref_us-gaap_DepositsAssetsNoncurrent', window );">Long term deposits</a></td>
<td class="nump">$ 370,156<span></span>
</td>
<td class="nump">$ 8,540<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_FSI_DisclosureLongTermDeposits.Abstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">FSI_DisclosureLongTermDeposits.Abstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</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_DepositsAssetsNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Carrying value of amounts transferred to third parties for security purposes that are expected to be returned or applied towards payment after one year or beyond the operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(17))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DepositsAssetsNoncurrent</td>
</tr>
<tr>
<td style="padding-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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>63
<FILENAME>R54.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/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.23.2</span><table class="report" border="0" cellspacing="2" id="idm139976275322400">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>SCHEDULE OF FAIR VALUES OF THE ASSETS ACQUIRED AND LIABILITIES ASSUMED (Details)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th">
<div>Dec. 31, 2022 </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="Show.showAR( this, 'defref_us-gaap_EquityMethodInvestmentsAndJointVenturesAbstract', window );"><strong>Equity Method Investments and Joint Ventures [Abstract]</strong></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="Show.showAR( this, 'defref_us-gaap_BusinessCombinationConsiderationTransferred1', window );">Purchase consideration</a></td>
<td class="nump">$ 506,659<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents', window );">Cash</a></td>
<td class="nump">7,330<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedBuildings', window );">Building</a></td>
<td class="nump">3,750,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLand', window );">Land</a></td>
<td class="nump">150,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities', window );">Deferred tax liability</a></td>
<td class="num">(174,582)<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="Show.showAR( this, 'defref_FSI_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLongTermDebt', window );">Long term debt</a></td>
<td class="num">(2,849,500)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets', window );">Total identifiable net assets:</a></td>
<td class="nump">883,248<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="Show.showAR( this, 'defref_FSI_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLessPurchasePrice', window );">Excess of assets acquired over consideration</a></td>
<td class="nump">376,589<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="Show.showAR( this, 'defref_FSI_InvestmentEliminatedUponConsolidation', window );">Less investment eliminated upon consolidation</a></td>
<td class="num">(41,538)<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="Show.showAR( this, 'defref_FSI_GainOnAcquisitionOfSubsidiary', window );">Gain on acquisition of ENP Peru</a></td>
<td class="nump">$ 335,051<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_FSI_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLessPurchasePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Business combination recognized identifiable assets acquired and liabilities assumed less purchase price.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">FSI_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLessPurchasePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</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_FSI_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLongTermDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Business combination recognized identifiable assets acquired and liabilities assumed long term debt.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">FSI_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLongTermDebt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</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_FSI_GainOnAcquisitionOfSubsidiary">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Gain on acquisition of subsidiary.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">FSI_GainOnAcquisitionOfSubsidiary</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</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_FSI_InvestmentEliminatedUponConsolidation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Investment eliminated upon consolidation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">FSI_InvestmentEliminatedUponConsolidation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</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_BusinessCombinationConsiderationTransferred1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 30<br> -Paragraph 8<br> -SubTopic 30<br> -Topic 805<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479637/805-30-30-8<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -SubTopic 30<br> -Topic 805<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479581/805-30-50-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 30<br> -Paragraph 7<br> -SubTopic 30<br> -Topic 805<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479637/805-30-30-7<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of assets acquired at the acquisition date.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479907/805-20-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets</td>
</tr>
<tr>
<td style="padding-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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedBuildings">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of facility held for productive use including, but not limited to, office, production, storage and distribution facilities, acquired at the acquisition date.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479907/805-20-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedBuildings</td>
</tr>
<tr>
<td style="padding-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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479907/805-20-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479907/805-20-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLand">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of real estate acquired, at the acquisition date.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479907/805-20-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLand</td>
</tr>
<tr>
<td style="padding-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_EquityMethodInvestmentsAndJointVenturesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EquityMethodInvestmentsAndJointVenturesAbstract</td>
</tr>
<tr>
<td style="padding-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>64
<FILENAME>R55.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/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.23.2</span><table class="report" border="0" cellspacing="2" id="idm139976174121552">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>SCHEDULE OF EQUITY METHOD INVESTMENT (Details) - USD ($)<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jun. 30, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EquityMethodInvestments', window );">Balance, Beginning</a></td>
<td class="nump">$ 5,458,895<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="Show.showAR( this, 'defref_FSI_InvestmentEliminatedUponConsolidation', window );">Investment eliminated upon consolidation</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">$ (41,538)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EquityMethodInvestments', window );">Balance, Ending</a></td>
<td class="nump">6,255,598<span></span>
</td>
<td class="nump">5,458,895<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_LegalEntityAxis=FSI_EnpPeruInvestmentsLlcMember', window );">Enp Peru Investments Llc [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="Show.showAR( this, 'defref_us-gaap_EquityMethodInvestments', window );">Balance, Beginning</a></td>
<td class="text"> <span></span>
</td>
<td class="nump">22,642<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="Show.showAR( this, 'defref_FSI_EquityMethodInvestmentReturnOfEquity', window );">Return of equity</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(8,750)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EquityMethodInvestmentRealizedGainLossOnDisposal', window );">Gain in equity method investment</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">27,646<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="Show.showAR( this, 'defref_FSI_InvestmentEliminatedUponConsolidation', window );">Investment eliminated upon consolidation</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(41,538)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EquityMethodInvestments', window );">Balance, Ending</a></td>
<td class="text">&#160;<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="Show.showAR( this, 'defref_dei_LegalEntityAxis=FSI_FloridaBasedLLCMember', window );">Florida Based LLC [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="Show.showAR( this, 'defref_us-gaap_EquityMethodInvestments', window );">Balance, Beginning</a></td>
<td class="nump">3,758,895<span></span>
</td>
<td class="nump">3,701,368<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="Show.showAR( this, 'defref_FSI_EquityMethodInvestmentReturnOfEquity', window );">Return of equity</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(250,000)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EquityMethodInvestmentRealizedGainLossOnDisposal', window );">Gain in equity method investment</a></td>
<td class="nump">326,703<span></span>
</td>
<td class="nump">307,527<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EquityMethodInvestments', window );">Balance, Ending</a></td>
<td class="nump">$ 4,085,598<span></span>
</td>
<td class="nump">$ 3,758,895<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_FSI_EquityMethodInvestmentReturnOfEquity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Return of equity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">FSI_EquityMethodInvestmentReturnOfEquity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</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_FSI_InvestmentEliminatedUponConsolidation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Investment eliminated upon consolidation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">FSI_InvestmentEliminatedUponConsolidation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</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_EquityMethodInvestmentRealizedGainLossOnDisposal">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(b)(7)(c))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(b)(9)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_EquityMethodInvestments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>This item represents the carrying amount on the entity's balance sheet of its investment in common stock of an equity method investee. This is not an indicator of the fair value of the investment, rather it is the initial cost adjusted for the entity's share of earnings and losses of the investee, adjusted for any distributions (dividends) and other than temporary impairment (OTTI) losses recognized.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481664/323-10-45-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(10))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 25<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-25<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EquityMethodInvestments</td>
</tr>
<tr>
<td style="padding-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_dei_LegalEntityAxis=FSI_EnpPeruInvestmentsLlcMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_LegalEntityAxis=FSI_EnpPeruInvestmentsLlcMember</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_dei_LegalEntityAxis=FSI_FloridaBasedLLCMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_LegalEntityAxis=FSI_FloridaBasedLLCMember</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>65
<FILENAME>R56.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/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.23.2</span><table class="report" border="0" cellspacing="2" id="idm139976171938400">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>SUMMARY OF PROFIT AND LOSS INFORMATION RELATED TO EQUITY ACCOUNTED INVESTMENT (Details) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">6 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jun. 30, 2023</div></th>
<th class="th"><div>Jun. 30, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EquityMethodInvestmentsAndJointVenturesAbstract', window );"><strong>Equity Method Investments and Joint Ventures [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" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GainsLossesOnSalesOfInvestmentRealEstate', window );">Net sales</a></td>
<td class="nump">$ 8,231,298<span></span>
</td>
<td class="nump">$ 4,987,836<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RealizedInvestmentGainsLosses', window );">Gross profit</a></td>
<td class="nump">2,435,858<span></span>
</td>
<td class="nump">1,850,172<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="Show.showAR( this, 'defref_FSI_RealizedInvestmentGainsLossesNet', window );">Net income</a></td>
<td class="nump">$ 653,407<span></span>
</td>
<td class="nump">$ 766,167<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_FSI_RealizedInvestmentGainsLossesNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Net income.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">FSI_RealizedInvestmentGainsLossesNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</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_EquityMethodInvestmentsAndJointVenturesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EquityMethodInvestmentsAndJointVenturesAbstract</td>
</tr>
<tr>
<td style="padding-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_GainsLossesOnSalesOfInvestmentRealEstate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The net gain (loss) resulting from sales and other disposals of real estate owned for investment purposes.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(7)(a)(8))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(b)(7)(c))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(b)(9)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(14)(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3<br> -SubTopic 360<br> -Topic 944<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479638/944-360-45-3<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 4<br> -SubTopic 360<br> -Topic 944<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479638/944-360-45-4<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -SubTopic 360<br> -Topic 944<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479607/944-360-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GainsLossesOnSalesOfInvestmentRealEstate</td>
</tr>
<tr>
<td style="padding-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_RealizedInvestmentGainsLosses">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of realized gain (loss) on investment.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(3)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RealizedInvestmentGainsLosses</td>
</tr>
<tr>
<td style="padding-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>66
<FILENAME>R57.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/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.23.2</span><table class="report" border="0" cellspacing="2" id="idm139976166114512">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>INVESTMENTS. (Details Narrative) - USD ($)<br></strong></div></th>
<th class="th" colspan="3">1 Months Ended</th>
<th class="th" colspan="2">6 Months Ended</th>
<th class="th" colspan="1">12 Months Ended</th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Jun. 30, 2022</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
<th class="th"><div>Dec. 31, 2018</div></th>
<th class="th"><div>Jun. 30, 2023</div></th>
<th class="th"><div>Jun. 30, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Apr. 30, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Jan. 31, 2019</div></th>
<th class="th"><div>Dec. 01, 2018</div></th>
<th class="th"><div>Dec. 31, 2016</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfEquityMethodInvestmentsLineItems', window );"><strong>Schedule of Equity Method Investments [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>
<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">&#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>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentMaturityDate', window );">Debt maturity date</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">&#160;<span></span>
</td>
<td class="text">Dec.  06,  2023<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">&#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="Show.showAR( this, 'defref_us-gaap_PaymentsToAcquireInvestments', window );">Payments to Acquire Investments</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="nump">$ 470,000<span></span>
</td>
<td class="text"> <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">&#160;<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="Show.showAR( this, 'defref_dei_LegalEntityAxis=FSI_AppliedHoldingCorpMember', window );">Applied Holding Corp [Member]</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">&#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">&#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="Show.showAR( this, 'defref_us-gaap_ScheduleOfEquityMethodInvestmentsLineItems', window );"><strong>Schedule of Equity Method Investments [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>
<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">&#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>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Investments', window );">Investment</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">&#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">&#160;<span></span>
</td>
<td class="nump">$ 200,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="Show.showAR( this, 'defref_dei_LegalEntityAxis=FSI_TrioOpportunityCorpMember', window );">Trio Opportunity Corp [Member]</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">&#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">&#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="Show.showAR( this, 'defref_us-gaap_ScheduleOfEquityMethodInvestmentsLineItems', window );"><strong>Schedule of Equity Method Investments [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>
<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">&#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>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Investments', window );">Investment</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">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 470,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 500,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="Show.showAR( this, 'defref_dei_LegalEntityAxis=FSI_TrioOpportunityCorpMember', window );">Trio Opportunity Corp [Member] | Common Class B [Member]</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">&#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">&#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="Show.showAR( this, 'defref_us-gaap_ScheduleOfEquityMethodInvestmentsLineItems', window );"><strong>Schedule of Equity Method Investments [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>
<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">&#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>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesNewIssues', window );">Common stock issued, shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">97,000<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">&#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">&#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="Show.showAR( this, 'defref_us-gaap_SharePrice', window );">Share price</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 10.00<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">&#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">&#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="Show.showAR( this, 'defref_dei_LegalEntityAxis=FSI_FloridaBasedLLCMember', window );">Florida Based LLC [Member]</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">&#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">&#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="Show.showAR( this, 'defref_us-gaap_ScheduleOfEquityMethodInvestmentsLineItems', window );"><strong>Schedule of Equity Method Investments [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>
<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">&#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>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Revenues', window );">Sales</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="nump">5,091,764<span></span>
</td>
<td class="nump">5,450,698<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">&#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="Show.showAR( this, 'defref_us-gaap_AccountsReceivableNet', window );">Accounts receivable related parties</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="nump">$ 2,851,981<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="nump">$ 2,423,285<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="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_LegalEntityAxis=FSI_LygosIncMember', window );">Lygos 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>
<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">&#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>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfEquityMethodInvestmentsLineItems', window );"><strong>Schedule of Equity Method Investments [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>
<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">&#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>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Investments', window );">Investment</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">&#160;<span></span>
</td>
<td class="nump">$ 1,000,000<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">&#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="Show.showAR( this, 'defref_us-gaap_PaymentsToAcquireInvestments', window );">Payments to Acquire Investments</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 500,000<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="nump">$ 500,000<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">&#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="Show.showAR( this, 'defref_srt_OwnershipAxis=FSI_ENPPeruMember', window );">ENP Peru [Member]</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">&#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">&#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="Show.showAR( this, 'defref_us-gaap_ScheduleOfEquityMethodInvestmentsLineItems', window );"><strong>Schedule of Equity Method Investments [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>
<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">&#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>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_FSI_RemainningShareOutstanding', window );">Remainning share outstanding</a></td>
<td class="nump">$ 506,659<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">&#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">&#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="Show.showAR( this, 'defref_us-gaap_Cash', window );">Cash</a></td>
<td class="nump">$ 259,000<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="nump">$ 259,000<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">&#160;<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="Show.showAR( this, 'defref_srt_OwnershipAxis=FSI_EnpnvestmentsLlcMember', window );">ENP Investments LLC [Member]</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">&#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">&#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="Show.showAR( this, 'defref_us-gaap_ScheduleOfEquityMethodInvestmentsLineItems', window );"><strong>Schedule of Equity Method Investments [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>
<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">&#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>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_MinorityInterestOwnershipPercentageByParent', window );">Minority Interest Ownership Percentage</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="nump">35.00%<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">&#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>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis=FSI_EnpPeruInvestmentsLlcMember', window );">Enp Peru Investments Llc [Member]</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">&#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">&#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="Show.showAR( this, 'defref_us-gaap_ScheduleOfEquityMethodInvestmentsLineItems', window );"><strong>Schedule of Equity Method Investments [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>
<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">&#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>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EquityMethodInvestmentOwnershipPercentage', window );">Ownership percentage</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">&#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">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">50.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="Show.showAR( this, 'defref_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis=FSI_NanoChemMember', window );">Nano Chem [Member]</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">&#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">&#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="Show.showAR( this, 'defref_us-gaap_ScheduleOfEquityMethodInvestmentsLineItems', window );"><strong>Schedule of Equity Method Investments [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>
<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">&#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>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EquityMethodInvestmentOwnershipPercentage', window );">Ownership percentage</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">&#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">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">41.67%<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="Show.showAR( this, 'defref_FSI_AdditionalEquityMethodInvestmentOwnershipPercentage', window );">Additional ownership interest</a></td>
<td class="nump">50.00%<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="nump">50.00%<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">&#160;<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="Show.showAR( this, 'defref_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis=FSI_ENPInvestmentsLLCMember', window );">ENP Investments, LLC [Member]</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">&#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">&#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="Show.showAR( this, 'defref_us-gaap_ScheduleOfEquityMethodInvestmentsLineItems', window );"><strong>Schedule of Equity Method Investments [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>
<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">&#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>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EquityMethodInvestmentOwnershipPercentage', window );">Ownership percentage</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="nump">8.33%<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">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">8.33%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis=FSI_FloridaBasedLLCMember', window );">Florida Based LLC [Member]</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">&#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">&#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="Show.showAR( this, 'defref_us-gaap_ScheduleOfEquityMethodInvestmentsLineItems', window );"><strong>Schedule of Equity Method Investments [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>
<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">&#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>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EquityMethodInvestmentOwnershipPercentage', window );">Ownership percentage</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">&#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="nump">50.00%<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_FSI_AdditionalEquityMethodInvestmentOwnershipPercentage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Additional equity method investment ownership percentage.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">FSI_AdditionalEquityMethodInvestmentOwnershipPercentage</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</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_FSI_RemainningShareOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Remainning share outstanding.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">FSI_RemainningShareOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</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_AccountsReceivableNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 310<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480833/946-310-45-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(5)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 954<br> -SubTopic 310<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481058/954-310-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsReceivableNet</td>
</tr>
<tr>
<td style="padding-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_Cash">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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. Excludes cash and cash equivalents within disposal group and discontinued operation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-12<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 21<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480555/946-210-45-21<br><br>Reference 6: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 20<br> -SubTopic 210<br> -Topic 946<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480555/946-210-45-20<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Cash</td>
</tr>
<tr>
<td style="padding-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_DebtInstrumentMaturityDate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Date when the debt instrument is scheduled to be fully repaid, in YYYY-MM-DD format.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1B<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 820<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (bbb)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482106/820-10-50-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.22(a)(2))<br> -SubTopic 10<br> -Topic 210<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentMaturityDate</td>
</tr>
<tr>
<td style="padding-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_EquityMethodInvestmentOwnershipPercentage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_Investments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Sum of the carrying amounts as of the balance sheet date of all investments.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(1)(h))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Investments</td>
</tr>
<tr>
<td style="padding-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_MinorityInterestOwnershipPercentageByParent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The parent entity's interest in net assets of the subsidiary, expressed as a percentage.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_MinorityInterestOwnershipPercentageByParent</td>
</tr>
<tr>
<td style="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_PaymentsToAcquireInvestments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash outflow associated with the purchase of all investments (debt, security, other) during the period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 13<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-13<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsToAcquireInvestments</td>
</tr>
<tr>
<td style="padding-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_Revenues">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of revenue recognized from goods sold, services rendered, insurance premiums, or other activities that constitute an earning process. Includes, but is not limited to, investment and interest income before deduction of interest expense when recognized as a component of revenue, and sales and trading gain (loss).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 6: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 42<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-42<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-40<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-41<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 235<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-05(b)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479557/942-235-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Revenues</td>
</tr>
<tr>
<td style="padding-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_ScheduleOfEquityMethodInvestmentsLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfEquityMethodInvestmentsLineItems</td>
</tr>
<tr>
<td style="padding-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_SharePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Price of a single share of a number of saleable stocks of a company.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharePrice</td>
</tr>
<tr>
<td style="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_StockIssuedDuringPeriodSharesNewIssues">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of new stock issued during the period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 505<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 505<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481004/946-505-50-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(4)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-03(i)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479886/946-10-S99-3<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480008/505-10-S99-1<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_dei_LegalEntityAxis=FSI_AppliedHoldingCorpMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_LegalEntityAxis=FSI_AppliedHoldingCorpMember</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_dei_LegalEntityAxis=FSI_TrioOpportunityCorpMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_LegalEntityAxis=FSI_TrioOpportunityCorpMember</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_StatementClassOfStockAxis=us-gaap_CommonClassBMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_StatementClassOfStockAxis=us-gaap_CommonClassBMember</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_dei_LegalEntityAxis=FSI_FloridaBasedLLCMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_LegalEntityAxis=FSI_FloridaBasedLLCMember</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_dei_LegalEntityAxis=FSI_LygosIncMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_LegalEntityAxis=FSI_LygosIncMember</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_OwnershipAxis=FSI_ENPPeruMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_OwnershipAxis=FSI_ENPPeruMember</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_OwnershipAxis=FSI_EnpnvestmentsLlcMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_OwnershipAxis=FSI_EnpnvestmentsLlcMember</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_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis=FSI_EnpPeruInvestmentsLlcMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis=FSI_EnpPeruInvestmentsLlcMember</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_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis=FSI_NanoChemMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis=FSI_NanoChemMember</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_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis=FSI_ENPInvestmentsLLCMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis=FSI_ENPInvestmentsLLCMember</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_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis=FSI_FloridaBasedLLCMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis=FSI_FloridaBasedLLCMember</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>67
<FILENAME>R58.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/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.23.2</span><table class="report" border="0" cellspacing="2" id="idm139976171861776">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>SHORT-TERM LINE OF CREDIT. (Details Narrative) - USD ($)<br></strong></div></th>
<th class="th" colspan="1">1 Months Ended</th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Jun. 30, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityLineItems', window );"><strong>Line of Credit Facility [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" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LinesOfCreditCurrent', window );">Line of credit</a></td>
<td class="text"> <span></span>
</td>
<td class="nump">$ 2,818,591<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityAxis=FSI_StockYardAndBankMember', window );">Stock Yard And Bank One [Member] | NanoChem Solutions Inc [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="Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityLineItems', window );"><strong>Line of Credit Facility [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="Show.showAR( this, 'defref_FSI_LoanGuaranteedRate', window );">Loan guaranteed rate</a></td>
<td class="nump">35.00%<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="Show.showAR( this, 'defref_us-gaap_LinesOfCreditCurrent', window );">Line of credit</a></td>
<td class="nump">$ 1,575,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="Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityAxis=FSI_StockYardAndBankMember', window );">Stock Yard And Bank One [Member] | New Agreement [Member] | NanoChem Solutions Inc [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="Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityLineItems', window );"><strong>Line of Credit Facility [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="Show.showAR( this, 'defref_FSI_LoanGuaranteedRate', window );">Loan guaranteed rate</a></td>
<td class="nump">65.00%<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="Show.showAR( this, 'defref_us-gaap_LinesOfCreditCurrent', window );">Line of credit</a></td>
<td class="nump">$ 2,925,000<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="Show.showAR( this, 'defref_us-gaap_ShortTermBorrowings', window );">Short term borrowings</a></td>
<td class="text"> <span></span>
</td>
<td class="nump">$ 2,477,794<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityAxis=FSI_StockYardAndBankMember', window );">Stock Yard And Bank One [Member] | Midland States Bank [Member] | New Agreement [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="Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityLineItems', window );"><strong>Line of Credit Facility [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" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityCurrentBorrowingCapacity', window );">Increasing amount of revolving line of credit</a></td>
<td class="nump">500,000<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="Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity', window );">Aggregate amount of revolving line of credit</a></td>
<td class="nump">$ 4,500,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="Show.showAR( this, 'defref_FSI_PercentageOfForeignAccountsReceivableOfInventory', window );">Percentage of foreign accounts receivable of inventory</a></td>
<td class="nump">50.00%<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="Show.showAR( this, 'defref_us-gaap_DebtInstrumentFaceAmount', window );">Debt face amount</a></td>
<td class="nump">$ 2,000,000<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="Show.showAR( this, 'defref_us-gaap_DebtInstrumentInterestRateStatedPercentage', window );">Interest rate</a></td>
<td class="nump">8.25%<span></span>
</td>
<td class="nump">7.50%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityAxis=FSI_StockBankMember', window );">Stock Bank [Member] | New Agreement [Member] | NanoChem Solutions Inc [Member] | Revolving Credit Facility [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="Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityLineItems', window );"><strong>Line of Credit Facility [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" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShortTermBorrowings', window );">Short term borrowings</a></td>
<td class="text"> <span></span>
</td>
<td class="nump">$ 340,797<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityAxis=FSI_StockBankMember', window );">Stock Bank [Member] | Midland States Bank [Member] | New Agreement [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="Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityLineItems', window );"><strong>Line of Credit Facility [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" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity', window );">Aggregate amount of revolving line of credit</a></td>
<td class="nump">$ 4,000,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="Show.showAR( this, 'defref_FSI_PercentageOfForeignAccountsReceivableOfInventory', window );">Percentage of foreign accounts receivable of inventory</a></td>
<td class="nump">50.00%<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="Show.showAR( this, 'defref_us-gaap_DebtInstrumentFaceAmount', window );">Debt face amount</a></td>
<td class="nump">$ 2,000,000<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="Show.showAR( this, 'defref_us-gaap_DebtInstrumentInterestRateStatedPercentage', window );">Interest rate</a></td>
<td class="nump">8.25%<span></span>
</td>
<td class="nump">7.50%<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="Show.showAR( this, 'defref_FSI_EligiblePercentageOfDomesticAccountsReceivable', window );">Eligible percentage of domestic accounts receivable</a></td>
<td class="nump">80.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_FSI_EligiblePercentageOfDomesticAccountsReceivable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Eligible percentage of domestic accounts receivable.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">FSI_EligiblePercentageOfDomesticAccountsReceivable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</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_FSI_LoanGuaranteedRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Loan guaranteed rate.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">FSI_LoanGuaranteedRate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</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_FSI_PercentageOfForeignAccountsReceivableOfInventory">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Percentage of foreign accounts receivable of inventory.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">FSI_PercentageOfForeignAccountsReceivableOfInventory</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</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_DebtInstrumentFaceAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Face (par) amount of debt instrument at time of issuance.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 835<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482900/835-30-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1B<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 69B<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481568/470-20-55-69B<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 69C<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481568/470-20-55-69C<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482925/835-30-45-2<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 55<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482949/835-30-55-8<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentFaceAmount</td>
</tr>
<tr>
<td style="padding-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_DebtInstrumentInterestRateStatedPercentage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Contractual interest rate for funds borrowed, under the debt agreement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1B<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.22(a)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentInterestRateStatedPercentage</td>
</tr>
<tr>
<td style="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_LineOfCreditFacilityCurrentBorrowingCapacity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of current borrowing capacity under the credit facility considering any current restrictions on the amount that could be borrowed (for example, borrowings may be limited by the amount of current assets), but without considering any amounts currently outstanding under the facility.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19(b),22(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LineOfCreditFacilityCurrentBorrowingCapacity</td>
</tr>
<tr>
<td style="padding-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_LineOfCreditFacilityLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(f))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LineOfCreditFacilityLineItems</td>
</tr>
<tr>
<td style="padding-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_LineOfCreditFacilityMaximumBorrowingCapacity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Maximum borrowing capacity under the credit facility without consideration of any current restrictions on the amount that could be borrowed or the amounts currently outstanding under the facility.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19(b),22(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity</td>
</tr>
<tr>
<td style="padding-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_LinesOfCreditCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The carrying value as of the balance sheet date of the current portion of long-term obligations drawn from a line of credit, which is a bank's commitment to make loans up to a specific amount. Examples of items that might be included in the application of this element may consist of letters of credit, standby letters of credit, and revolving credit arrangements, under which borrowings can be made up to a maximum amount as of any point in time conditional on satisfaction of specified terms before, as of and after the date of drawdowns on the line. Includes short-term obligations that would normally be classified as current liabilities but for which (a) postbalance sheet date issuance of a long term obligation to refinance the short term obligation on a long term basis, or (b) the enterprise has entered into a financing agreement that clearly permits the enterprise to refinance the short-term obligation on a long term basis and the following conditions are met (1) the agreement does not expire within 1 year and is not cancelable by the lender except for violation of an objectively determinable provision, (2) no violation exists at the BS date, and (3) the lender has entered into the financing agreement is expected to be financially capable of honoring the agreement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(19))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(13))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LinesOfCreditCurrent</td>
</tr>
<tr>
<td style="padding-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_ShortTermBorrowings">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Reflects the total carrying amount as of the balance sheet date of debt having initial terms less than one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(16)(a)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(13))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-1<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(19)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShortTermBorrowings</td>
</tr>
<tr>
<td style="padding-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_LineOfCreditFacilityAxis=FSI_StockYardAndBankMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_LineOfCreditFacilityAxis=FSI_StockYardAndBankMember</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_dei_LegalEntityAxis=FSI_NanoChemSolutionIncMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_LegalEntityAxis=FSI_NanoChemSolutionIncMember</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_TypeOfArrangementAxis=FSI_NewAgreementMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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=FSI_NewAgreementMember</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_RelatedPartyTransactionsByRelatedPartyAxis=FSI_MidlandStatesBankMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_RelatedPartyTransactionsByRelatedPartyAxis=FSI_MidlandStatesBankMember</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_LineOfCreditFacilityAxis=FSI_StockBankMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_LineOfCreditFacilityAxis=FSI_StockBankMember</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_CreditFacilityAxis=us-gaap_RevolvingCreditFacilityMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_CreditFacilityAxis=us-gaap_RevolvingCreditFacilityMember</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>R59.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/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.23.2</span><table class="report" border="0" cellspacing="2" id="idm139976177238064">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>SCHEDULE OF LOAN COVENANTS (Details) - USD ($)<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jun. 30, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtDisclosureAbstract', window );"><strong>Debt 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" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongTermDebt', window );">Balance, beginning of period</a></td>
<td class="nump">$ 6,154,077<span></span>
</td>
<td class="nump">$ 2,366,598<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProceedsFromBankDebt', window );">Plus: Proceeds from loans</a></td>
<td class="nump">2,248,292<span></span>
</td>
<td class="nump">3,230,798<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="Show.showAR( this, 'defref_FSI_ProceedsFromLoanAcquiredFromAcquisition', window );">Plus: Loan acquired with acquisition of ENP Peru</a></td>
<td class="text"> <span></span>
</td>
<td class="nump">2,849,500<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsForProceedsFromDepositOnLoan', window );">Less: Payments on loan</a></td>
<td class="num">(361,265)<span></span>
</td>
<td class="num">(2,292,819)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongTermDebt', window );">Balance, end of period</a></td>
<td class="nump">$ 8,041,104<span></span>
</td>
<td class="nump">$ 6,154,077<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_FSI_ProceedsFromLoanAcquiredFromAcquisition">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Proceeds from loan acquired from acquisition.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">FSI_ProceedsFromLoanAcquiredFromAcquisition</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</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_DebtDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-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_LongTermDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after deduction of unamortized premium (discount) and debt issuance cost, of long-term debt. Excludes lease obligation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(22))<br> -SubTopic 10<br> -Topic 210<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 69B<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481568/470-20-55-69B<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 69C<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481568/470-20-55-69C<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1D<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1D<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(16)(a)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(16))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (b)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermDebt</td>
</tr>
<tr>
<td style="padding-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_PaymentsForProceedsFromDepositOnLoan">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The net cash inflow or outflow from resulting from payment, receipt or drawdown of cash deposit to guarantee a loan during the period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-8<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 9<br> -Subparagraph (c)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-9<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsForProceedsFromDepositOnLoan</td>
</tr>
<tr>
<td style="padding-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_ProceedsFromBankDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash inflow from bank borrowing during the year.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-14<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromBankDebt</td>
</tr>
<tr>
<td style="padding-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>69
<FILENAME>R60.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/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.23.2</span><table class="report" border="0" cellspacing="2" id="idm139976173617040">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>SCHEDULE OF OUTSTANDING BALANCE LOAN (Details) - USD ($)<br></strong></div></th>
<th class="th"><div>Jun. 30, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</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="Show.showAR( this, 'defref_us-gaap_DefinedBenefitPlanDisclosureLineItems', window );"><strong>Defined Benefit Plan Disclosure [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" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongTermDebt', window );">Long-term Debt</a></td>
<td class="nump">$ 8,041,104<span></span>
</td>
<td class="nump">$ 6,154,077<span></span>
</td>
<td class="nump">$ 2,366,598<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongTermDebtCurrent', window );">Less: current portion</a></td>
<td class="num">(738,916)<span></span>
</td>
<td class="num">(717,612)<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="Show.showAR( this, 'defref_us-gaap_LongTermDebtNoncurrent', window );">Long-term Debt non current&#160;</a></td>
<td class="nump">7,302,188<span></span>
</td>
<td class="nump">5,436,465<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="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=FSI_MidlandStatesBankMember', window );">Midland States Bank [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="Show.showAR( this, 'defref_us-gaap_DefinedBenefitPlanDisclosureLineItems', window );"><strong>Defined Benefit Plan Disclosure [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" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongTermDebt', window );">Long-term Debt</a></td>
<td class="text"> <span></span>
</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="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=FSI_MidlandStatesBankOneMember', window );">Midland States Bank 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="Show.showAR( this, 'defref_us-gaap_DefinedBenefitPlanDisclosureLineItems', window );"><strong>Defined Benefit Plan Disclosure [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" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongTermDebt', window );">Long-term Debt</a></td>
<td class="text"> <span></span>
</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="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=FSI_StockYardsBankTrustMember', window );">Stock Yards Bank &amp; Trust [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="Show.showAR( this, 'defref_us-gaap_DefinedBenefitPlanDisclosureLineItems', window );"><strong>Defined Benefit Plan Disclosure [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" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongTermDebt', window );">Long-term Debt</a></td>
<td class="nump">404,925<span></span>
</td>
<td class="nump">415,430<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="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=FSI_StockYardsBankTrustOneMember', window );">Stock Yards Bank Trust 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="Show.showAR( this, 'defref_us-gaap_DefinedBenefitPlanDisclosureLineItems', window );"><strong>Defined Benefit Plan Disclosure [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" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongTermDebt', window );">Long-term Debt</a></td>
<td class="nump">1,322,511<span></span>
</td>
<td class="nump">1,632,672<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="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=FSI_StockYardsBankTrustTwoMember', window );">Stock Yards Bank Trust 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="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DefinedBenefitPlanDisclosureLineItems', window );"><strong>Defined Benefit Plan Disclosure [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" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongTermDebt', window );">Long-term Debt</a></td>
<td class="nump">2,775,372<span></span>
</td>
<td class="nump">2,813,015<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="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=FSI_StockYardsBankTrustThreeMember', window );">Stock Yards Bank Trust 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="Show.showAR( this, 'defref_us-gaap_DefinedBenefitPlanDisclosureLineItems', window );"><strong>Defined Benefit Plan Disclosure [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" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongTermDebt', window );">Long-term Debt</a></td>
<td class="nump">253,206<span></span>
</td>
<td class="nump">256,162<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="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=FSI_StockYardsBankTrustFourMember', window );">Stock Yards Bank Trust Four [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="Show.showAR( this, 'defref_us-gaap_DefinedBenefitPlanDisclosureLineItems', window );"><strong>Defined Benefit Plan Disclosure [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" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongTermDebt', window );">Long-term Debt</a></td>
<td class="nump">1,036,798<span></span>
</td>
<td class="nump">1,036,798<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="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=FSI_StockYardsBankTrustFiveMember', window );">Stock Yards Bank Trust Five [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="Show.showAR( this, 'defref_us-gaap_DefinedBenefitPlanDisclosureLineItems', window );"><strong>Defined Benefit Plan Disclosure [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" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongTermDebt', window );">Long-term Debt</a></td>
<td class="nump">$ 2,248,292<span></span>
</td>
<td class="text"> <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_DefinedBenefitPlanDisclosureLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DefinedBenefitPlanDisclosureLineItems</td>
</tr>
<tr>
<td style="padding-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_LongTermDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after deduction of unamortized premium (discount) and debt issuance cost, of long-term debt. Excludes lease obligation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(22))<br> -SubTopic 10<br> -Topic 210<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 69B<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481568/470-20-55-69B<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 69C<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481568/470-20-55-69C<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1D<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1D<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(16)(a)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(16))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (b)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermDebt</td>
</tr>
<tr>
<td style="padding-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_LongTermDebtCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after deduction of unamortized premium (discount) and debt issuance cost, of long-term debt classified as current. Excludes lease obligation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermDebtCurrent</td>
</tr>
<tr>
<td style="padding-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_LongTermDebtNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after deduction of unamortized premium (discount) and debt issuance cost, of long-term debt classified as noncurrent. Excludes lease obligation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermDebtNoncurrent</td>
</tr>
<tr>
<td style="padding-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_RelatedPartyTransactionsByRelatedPartyAxis=FSI_MidlandStatesBankMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_RelatedPartyTransactionsByRelatedPartyAxis=FSI_MidlandStatesBankMember</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_RelatedPartyTransactionsByRelatedPartyAxis=FSI_MidlandStatesBankOneMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_RelatedPartyTransactionsByRelatedPartyAxis=FSI_MidlandStatesBankOneMember</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_RelatedPartyTransactionsByRelatedPartyAxis=FSI_StockYardsBankTrustMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_RelatedPartyTransactionsByRelatedPartyAxis=FSI_StockYardsBankTrustMember</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_RelatedPartyTransactionsByRelatedPartyAxis=FSI_StockYardsBankTrustOneMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_RelatedPartyTransactionsByRelatedPartyAxis=FSI_StockYardsBankTrustOneMember</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_RelatedPartyTransactionsByRelatedPartyAxis=FSI_StockYardsBankTrustTwoMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_RelatedPartyTransactionsByRelatedPartyAxis=FSI_StockYardsBankTrustTwoMember</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_RelatedPartyTransactionsByRelatedPartyAxis=FSI_StockYardsBankTrustThreeMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_RelatedPartyTransactionsByRelatedPartyAxis=FSI_StockYardsBankTrustThreeMember</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_RelatedPartyTransactionsByRelatedPartyAxis=FSI_StockYardsBankTrustFourMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_RelatedPartyTransactionsByRelatedPartyAxis=FSI_StockYardsBankTrustFourMember</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_RelatedPartyTransactionsByRelatedPartyAxis=FSI_StockYardsBankTrustFiveMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_RelatedPartyTransactionsByRelatedPartyAxis=FSI_StockYardsBankTrustFiveMember</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>70
<FILENAME>R61.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/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.23.2</span><table class="report" border="0" cellspacing="2" id="idm139976164345904">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>LONG TERM DEBT. (Details Narrative) - USD ($)<br></strong></div></th>
<th class="th" colspan="3">1 Months Ended</th>
<th class="th" colspan="3">3 Months Ended</th>
<th class="th" colspan="2">6 Months Ended</th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jun. 30, 2022</div></th>
<th class="th"><div>Oct. 31, 2020</div></th>
<th class="th"><div>Jan. 31, 2020</div></th>
<th class="th"><div>Jun. 30, 2023</div></th>
<th class="th"><div>Jun. 30, 2022</div></th>
<th class="th"><div>Mar. 31, 2022</div></th>
<th class="th"><div>Jun. 30, 2023</div></th>
<th class="th"><div>Jun. 30, 2022</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShortTermDebtLineItems', window );"><strong>Short-Term Debt [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>
<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">&#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="Show.showAR( this, 'defref_us-gaap_InterestExpense', window );">Interest expense</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="nump">$ 115,498<span></span>
</td>
<td class="nump">$ 52,139<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 250,368<span></span>
</td>
<td class="nump">$ 109,757<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="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=FSI_MidlandBankMember', window );">Midland Bank [Member] | NanoChem Solutions 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>
<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">&#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="Show.showAR( this, 'defref_us-gaap_ShortTermDebtLineItems', window );"><strong>Short-Term Debt [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>
<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">&#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="Show.showAR( this, 'defref_us-gaap_DebtInstrumentFaceAmount', window );">Debt instrument face amount</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 894,253<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">&#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>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentTerm', window );">Debt instrument term</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">2 years<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">&#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>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InterestExpenseDebt', window );">Interest expense debt</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">&#160;<span></span>
</td>
<td class="nump">$ 3,417<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="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtDefaultLongtermDebtAmount', window );">Debt Long term debt amount</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"> <span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text">&#160;<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="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=FSI_MidlandBankMember', window );">Midland Bank [Member] | NanoChem Solutions Inc [Member] | Prime Rate [Member]</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">&#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">&#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="Show.showAR( this, 'defref_us-gaap_ShortTermDebtLineItems', window );"><strong>Short-Term Debt [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>
<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">&#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="Show.showAR( this, 'defref_us-gaap_DebtInstrumentInterestRateStatedPercentage', window );">Debt instrument interest rate stated percentage</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3.85%<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">&#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>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=FSI_StockYardsBankTrustMember', window );">Stock Yards Bank &amp; Trust [Member] | ENP Realty LLC [Member]</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">&#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">&#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="Show.showAR( this, 'defref_us-gaap_ShortTermDebtLineItems', window );"><strong>Short-Term Debt [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>
<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">&#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="Show.showAR( this, 'defref_us-gaap_DebtInstrumentTerm', window );">Debt instrument term</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">10 years<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">&#160;<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="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=FSI_StockYardsBankTrustMember', window );">Stock Yards Bank &amp; Trust [Member] | ENP Realty LLC [Member] | Prime Rate [Member]</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">&#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">&#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="Show.showAR( this, 'defref_us-gaap_ShortTermDebtLineItems', window );"><strong>Short-Term Debt [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>
<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">&#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="Show.showAR( this, 'defref_us-gaap_DebtInstrumentInterestRateStatedPercentage', window );">Debt instrument interest rate stated percentage</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">4.35%<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">&#160;<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="Show.showAR( this, 'defref_us-gaap_DebtInstrumentAxis=FSI_TermLoanMember', window );">Term Loan [Member] | Nano Chem [Member]</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">&#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">&#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="Show.showAR( this, 'defref_us-gaap_ShortTermDebtLineItems', window );"><strong>Short-Term Debt [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>
<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">&#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="Show.showAR( this, 'defref_us-gaap_DebtInstrumentFaceAmount', window );">Debt instrument face amount</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">&#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="nump">2,000,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InterestExpenseDebt', window );">Interest expense debt</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">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">33,139<span></span>
</td>
<td class="text"> <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="Show.showAR( this, 'defref_us-gaap_DebtDefaultLongtermDebtAmount', window );">Debt Long term debt amount</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="nump">1,036,798<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,036,798<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1,036,798<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentAxis=FSI_TermLoanMember', window );">Term Loan [Member] | Nano Chem [Member] | Prime Rate [Member]</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">&#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">&#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="Show.showAR( this, 'defref_us-gaap_ShortTermDebtLineItems', window );"><strong>Short-Term Debt [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>
<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">&#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="Show.showAR( this, 'defref_us-gaap_DebtInstrumentInterestRateStatedPercentage', window );">Debt instrument interest rate stated percentage</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">&#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="nump">6.50%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentAxis=FSI_TermLoanMember', window );">Term Loan [Member] | Mendota [Member]</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">&#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">&#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="Show.showAR( this, 'defref_us-gaap_ShortTermDebtLineItems', window );"><strong>Short-Term Debt [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>
<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">&#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="Show.showAR( this, 'defref_us-gaap_DebtInstrumentFaceAmount', window );">Debt instrument face amount</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="nump">3,240,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3,240,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" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InterestExpenseDebt', window );">Interest expense debt</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">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <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="Show.showAR( this, 'defref_us-gaap_DebtDefaultLongtermDebtAmount', window );">Debt Long term debt amount</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="nump">2,248,292<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2,248,292<span></span>
</td>
<td class="text">&#160;<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="Show.showAR( this, 'defref_us-gaap_DebtInstrumentAxis=FSI_TermLoanMember', window );">Term Loan [Member] | Midland Bank [Member] | NanoChem Solutions 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>
<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">&#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="Show.showAR( this, 'defref_us-gaap_ShortTermDebtLineItems', window );"><strong>Short-Term Debt [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>
<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">&#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="Show.showAR( this, 'defref_us-gaap_DebtInstrumentFaceAmount', window );">Debt instrument face amount</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1,980,947<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">&#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>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentInterestRateStatedPercentage', window );">Debt instrument interest rate stated percentage</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">65.00%<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">&#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>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentTerm', window );">Debt instrument term</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">5 years<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">&#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>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InterestExpenseDebt', window );">Interest expense debt</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">&#160;<span></span>
</td>
<td class="nump">$ 15,130<span></span>
</td>
<td class="text"> <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="Show.showAR( this, 'defref_us-gaap_DebtInstrumentAxis=FSI_TermLoanMember', window );">Term Loan [Member] | Midland Bank [Member] | NanoChem Solutions Inc [Member] | Prime Rate [Member]</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">&#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">&#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="Show.showAR( this, 'defref_us-gaap_ShortTermDebtLineItems', window );"><strong>Short-Term Debt [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>
<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">&#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="Show.showAR( this, 'defref_us-gaap_DebtInstrumentInterestRateStatedPercentage', window );">Debt instrument interest rate stated percentage</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3.85%<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">&#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>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentAxis=FSI_TermLoanMember', window );">Term Loan [Member] | Midland Bank [Member] | ENP Mendota, LLC [Member]</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">&#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">&#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="Show.showAR( this, 'defref_us-gaap_ShortTermDebtLineItems', window );"><strong>Short-Term Debt [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>
<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">&#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="Show.showAR( this, 'defref_us-gaap_DebtInstrumentFaceAmount', window );">Debt instrument face amount</a></td>
<td class="nump">$ 1,935,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 450,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,935,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,935,000<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="Show.showAR( this, 'defref_us-gaap_DebtInstrumentInterestRateStatedPercentage', window );">Debt instrument interest rate stated percentage</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2.50%<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">&#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="Show.showAR( this, 'defref_us-gaap_DebtInstrumentTerm', window );">Debt instrument term</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">5 years<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">&#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="Show.showAR( this, 'defref_us-gaap_InterestExpenseDebt', window );">Interest expense debt</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">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">8,975<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">4,635<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtDefaultLongtermDebtAmount', window );">Debt Long term debt amount</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="nump">404,925<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">404,925<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">415,430<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentAxis=FSI_TermLoanMember', window );">Term Loan [Member] | Midland Bank [Member] | Nano Chem [Member]</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">&#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">&#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="Show.showAR( this, 'defref_us-gaap_ShortTermDebtLineItems', window );"><strong>Short-Term Debt [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>
<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">&#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="Show.showAR( this, 'defref_us-gaap_InterestExpenseDebt', window );">Interest expense debt</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">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">37,280<span></span>
</td>
<td class="text"> <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="Show.showAR( this, 'defref_us-gaap_DebtDefaultLongtermDebtAmount', window );">Debt Long term debt amount</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="nump">1,322,511<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,322,511<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,632,672<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentAxis=FSI_TermLoanMember', window );">Term Loan [Member] | Midland Bank [Member] | ENP Peru 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>
<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">&#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="Show.showAR( this, 'defref_us-gaap_ShortTermDebtLineItems', window );"><strong>Short-Term Debt [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>
<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">&#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="Show.showAR( this, 'defref_us-gaap_DebtInstrumentFaceAmount', window );">Debt instrument face amount</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 3,000,000<span></span>
</td>
<td class="nump">2,775,372<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2,775,372<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2,813,015<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentTerm', window );">Debt instrument term</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">10 years<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">&#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="Show.showAR( this, 'defref_us-gaap_LoansPayable', window );">First mortgage</a></td>
<td class="nump">2,849,500<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="nump">2,849,500<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2,849,500<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="Show.showAR( this, 'defref_us-gaap_InterestExpense', window );">Interest expense</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">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">61,251<span></span>
</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="Show.showAR( this, 'defref_us-gaap_DebtInstrumentAxis=FSI_TermLoanMember', window );">Term Loan [Member] | Midland Bank [Member] | ENP Peru One [Member] | Prime Rate [Member]</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">&#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">&#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="Show.showAR( this, 'defref_us-gaap_ShortTermDebtLineItems', window );"><strong>Short-Term Debt [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>
<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">&#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="Show.showAR( this, 'defref_us-gaap_DebtInstrumentInterestRateStatedPercentage', window );">Debt instrument interest rate stated percentage</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">4.35%<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">&#160;<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="Show.showAR( this, 'defref_us-gaap_DebtInstrumentAxis=FSI_TermLoanMember', window );">Term Loan [Member] | Midland Bank [Member] | ENP Peru Investments [Member]</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">&#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">&#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="Show.showAR( this, 'defref_us-gaap_ShortTermDebtLineItems', window );"><strong>Short-Term Debt [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>
<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">&#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="Show.showAR( this, 'defref_us-gaap_DebtInstrumentFaceAmount', window );">Debt instrument face amount</a></td>
<td class="nump">$ 259,000<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="nump">$ 259,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">259,000<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="Show.showAR( this, 'defref_us-gaap_DebtInstrumentTerm', window );">Debt instrument term</a></td>
<td class="text">10 years<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">&#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">&#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="Show.showAR( this, 'defref_us-gaap_InterestExpenseDebt', window );">Interest expense debt</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">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">6,960<span></span>
</td>
<td class="text"> <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="Show.showAR( this, 'defref_us-gaap_DebtDefaultLongtermDebtAmount', window );">Debt Long term debt amount</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="nump">$ 253,206<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 253,206<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 256,162<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentAxis=FSI_TermLoanMember', window );">Term Loan [Member] | Midland Bank [Member] | ENP Peru Investments [Member] | Prime Rate [Member]</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">&#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">&#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="Show.showAR( this, 'defref_us-gaap_ShortTermDebtLineItems', window );"><strong>Short-Term Debt [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>
<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">&#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="Show.showAR( this, 'defref_us-gaap_DebtInstrumentInterestRateStatedPercentage', window );">Debt instrument interest rate stated percentage</a></td>
<td class="nump">5.40%<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="nump">5.40%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">5.40%<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_DebtDefaultLongtermDebtAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of outstanding long-term debt or borrowing associated with any securities or credit agreement for which there has been a default in principal, interest, sinking fund, or redemption provisions, or any breach of covenant that existed at the end of the period and subsequently has not been cured.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(c))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtDefaultLongtermDebtAmount</td>
</tr>
<tr>
<td style="padding-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_DebtInstrumentFaceAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Face (par) amount of debt instrument at time of issuance.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 835<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482900/835-30-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1B<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 69B<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481568/470-20-55-69B<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 69C<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481568/470-20-55-69C<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482925/835-30-45-2<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 55<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482949/835-30-55-8<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentFaceAmount</td>
</tr>
<tr>
<td style="padding-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_DebtInstrumentInterestRateStatedPercentage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Contractual interest rate for funds borrowed, under the debt agreement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1B<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.22(a)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentInterestRateStatedPercentage</td>
</tr>
<tr>
<td style="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_DebtInstrumentTerm">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Period of time between issuance and maturity of debt instrument, 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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentTerm</td>
</tr>
<tr>
<td style="padding-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_InterestExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of the cost of borrowed funds accounted for as interest expense.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-10<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483581/946-220-45-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(3))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 45<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482925/835-30-45-3<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04.9)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (210.5-03(11))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 835<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483013/835-20-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InterestExpense</td>
</tr>
<tr>
<td style="padding-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_InterestExpenseDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of the cost of borrowed funds accounted for as interest expense for debt.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 69E<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481568/470-20-55-69E<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 69F<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481568/470-20-55-69F<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1F<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1F<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.8)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InterestExpenseDebt</td>
</tr>
<tr>
<td style="padding-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_LoansPayable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Including the current and noncurrent portions, aggregate carrying value as of the balance sheet date of loans payable (with maturities initially due after one year or beyond the operating cycle if longer).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(22))<br> -SubTopic 10<br> -Topic 210<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(16)(a)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(16))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LoansPayable</td>
</tr>
<tr>
<td style="padding-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_ShortTermDebtLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShortTermDebtLineItems</td>
</tr>
<tr>
<td style="padding-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_RelatedPartyTransactionsByRelatedPartyAxis=FSI_MidlandBankMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_RelatedPartyTransactionsByRelatedPartyAxis=FSI_MidlandBankMember</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_dei_LegalEntityAxis=FSI_NanoChemSolutionsIncMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_LegalEntityAxis=FSI_NanoChemSolutionsIncMember</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_VariableRateAxis=us-gaap_PrimeRateMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_VariableRateAxis=us-gaap_PrimeRateMember</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_RelatedPartyTransactionsByRelatedPartyAxis=FSI_StockYardsBankTrustMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_RelatedPartyTransactionsByRelatedPartyAxis=FSI_StockYardsBankTrustMember</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_dei_LegalEntityAxis=FSI_EnpRealtyLLCMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_LegalEntityAxis=FSI_EnpRealtyLLCMember</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_DebtInstrumentAxis=FSI_TermLoanMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_DebtInstrumentAxis=FSI_TermLoanMember</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_dei_LegalEntityAxis=FSI_NanoChemMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_LegalEntityAxis=FSI_NanoChemMember</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_dei_LegalEntityAxis=FSI_MendotaMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_LegalEntityAxis=FSI_MendotaMember</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_dei_LegalEntityAxis=FSI_ENPMendotaMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_LegalEntityAxis=FSI_ENPMendotaMember</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_dei_LegalEntityAxis=FSI_ENPPeruOneMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_LegalEntityAxis=FSI_ENPPeruOneMember</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_dei_LegalEntityAxis=FSI_ENPPeruInvestmentsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_LegalEntityAxis=FSI_ENPPeruInvestmentsMember</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>R62.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/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.23.2</span><table class="report" border="0" cellspacing="2" id="idm139976174096576">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>SCHEDULE OF STOCK OPTION ACTIVITIES (Details) - $ / shares<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jun. 30, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="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" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber', window );">Number of shares, Beginning Balance</a></td>
<td class="nump">1,686,000<span></span>
</td>
<td class="nump">789,500<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice', window );">Weighted average exercise price, Beginning Balance</a></td>
<td class="nump">$ 3.27<span></span>
</td>
<td class="nump">$ 2.78<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross', window );">Number of shares, Granted</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">981,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice', window );">Weighted average exercise price, Granted</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 3.55<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod', window );">Number of shares, Cancelled or expired</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(13,486)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice', window );">Weighted average exercise price, Cancelled or expired</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 2.32<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised', window );">Number of shares, Exercised</a></td>
<td class="num">(8,000)<span></span>
</td>
<td class="num">(71,014)<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="Show.showAR( this, 'defref_FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExcercisedOptionsExercisePrice', window );">Exercise price per share, Exercised</a></td>
<td class="nump">$ 1.70<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="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice', window );">Weighted average exercise price, Exercised</a></td>
<td class="nump">$ 1.70<span></span>
</td>
<td class="nump">$ 1.98<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber', window );">Number of shares Exercisable, Ending Balance</a></td>
<td class="nump">1,678,000<span></span>
</td>
<td class="nump">1,686,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice', window );">Weighted average exercise price, Ending Balance</a></td>
<td class="nump">$ 3.27<span></span>
</td>
<td class="nump">$ 3.27<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber', window );">Number of shares Exercisable, Ending Balance</a></td>
<td class="nump">672,000<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="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice', window );">Weighted average exercise price, Ending Balance</a></td>
<td class="nump">$ 2.94<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="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="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="Show.showAR( this, 'defref_FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice', window );">Exercise price per share, Beginning Balance</a></td>
<td class="nump">1.70<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="Show.showAR( this, 'defref_FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeGrantedOptionsExercisePrice', window );">Exercise price per share, Granted</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3.55<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="Show.showAR( this, 'defref_FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice', window );">Exercise price per share, Cancelled</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">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="Show.showAR( this, 'defref_FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExcercisedOptionsExercisePrice', window );">Exercise price per share, Exercised</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1.42<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="Show.showAR( this, 'defref_FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice', window );">Exercise price per share, Ending Balance</a></td>
<td class="nump">1.75<span></span>
</td>
<td class="nump">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="Show.showAR( this, 'defref_FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingExercisableOptionsExercisePrice', window );">Exercise price per share Exercisable, Ending Balance</a></td>
<td class="nump">1.75<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="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="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="Show.showAR( this, 'defref_FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice', window );">Exercise price per share, Beginning Balance</a></td>
<td class="nump">4.13<span></span>
</td>
<td class="nump">4.13<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="Show.showAR( this, 'defref_FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeGrantedOptionsExercisePrice', window );">Exercise price per share, Granted</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3.61<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="Show.showAR( this, 'defref_FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice', window );">Exercise price per share, Cancelled</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3.61<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="Show.showAR( this, 'defref_FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExcercisedOptionsExercisePrice', window );">Exercise price per share, Exercised</a></td>
<td class="text">&#160;<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="Show.showAR( this, 'defref_FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice', window );">Exercise price per share, Ending Balance</a></td>
<td class="nump">4.13<span></span>
</td>
<td class="nump">$ 4.13<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="Show.showAR( this, 'defref_FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingExercisableOptionsExercisePrice', window );">Exercise price per share Exercisable, Ending Balance</a></td>
<td class="nump">$ 4.13<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_FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Cancelled or expired, Exercise price per share.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</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_FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExcercisedOptionsExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Exercised, Exercise price per share.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExcercisedOptionsExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</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_FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeGrantedOptionsExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Exercise price per share, Granted.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeGrantedOptionsExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</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_FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingExercisableOptionsExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Exercise price per share.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingExercisableOptionsExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</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_FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Exercise price per share.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</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_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 1D<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480483/718-10-35-1D<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480483/718-10-35-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(03)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(03)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(iv)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(v)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>For presentations that combine terminations, 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 or that expired.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod</td>
</tr>
<tr>
<td style="padding-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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted average price of options that were either forfeited or expired.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Gross number of share options (or share units) granted during the period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross</td>
</tr>
<tr>
<td style="padding-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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_StockIssuedDuringPeriodSharesStockOptionsExercised">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 505<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480008/505-10-S99-1<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_srt_RangeAxis=srt_MinimumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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>72
<FILENAME>R63.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/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.23.2</span><table class="report" border="0" cellspacing="2" id="idm139976173449952">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>SCHEDULE OF STOCK OPTION FAIR VALUE ASSUMPTIONS (Details)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th">
<div>Dec. 31, 2022 </div>
<div>$ / shares</div>
</th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="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>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1', window );">Expected life - years</a></td>
<td class="text">3 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="Show.showAR( this, 'defref_srt_RangeAxis=srt_MinimumMember', window );">Minimum [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="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>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate', window );">Interest rate</a></td>
<td class="nump">1.76%<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate', window );">Volatility</a></td>
<td class="nump">66.01%<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue', window );">Weighted average fair value of options granted</a></td>
<td class="nump">$ 1.46<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_RangeAxis=srt_MaximumMember', window );">Maximum [Member]</a></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="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>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate', window );">Interest rate</a></td>
<td class="nump">3.64%<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate', window );">Volatility</a></td>
<td class="nump">69.66%<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue', window );">Weighted average fair value of options granted</a></td>
<td class="nump">$ 1.65<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(iv)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 1D<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480483/718-10-35-1D<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480483/718-10-35-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(03)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(03)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(iv)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(v)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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>
<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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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>73
<FILENAME>R64.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/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.23.2</span><table class="report" border="0" cellspacing="2" id="idm139976169588096">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>STOCK OPTIONS. (Details Narrative) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">6 Months Ended</th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jun. 30, 2023</div></th>
<th class="th"><div>Jun. 30, 2022</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsLineItems', window );"><strong>Deferred Compensation Arrangement with Individual, Excluding Share-Based Payments and Postretirement Benefits [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" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage', window );">Options granted percentage</a></td>
<td class="nump">100.00%<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="Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod', window );">Options maximum granted term</a></td>
<td class="text">5 years<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="Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2', window );">Weighted-average remaining contractual life</a></td>
<td class="text">3 years 4 months 24 days<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="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised', window );">Stock options exercised</a></td>
<td class="nump">8,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">71,014<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized', window );">Stock vested compensation non vested</a></td>
<td class="nump">$ 1,070,505<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="Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1', window );">Weighted average period expected to be recognized</a></td>
<td class="text">2 years 2 months 12 days<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="Show.showAR( this, 'defref_us-gaap_IncomeTaxAuthorityNameAxis=us-gaap_CanadaRevenueAgencyMember', window );">Canada Revenue Agency [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="Show.showAR( this, 'defref_us-gaap_DeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsLineItems', window );"><strong>Deferred Compensation Arrangement with Individual, Excluding Share-Based Payments and Postretirement Benefits [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" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAggregateIntrinsicValue', window );">Aggregate intrinsic value of vested options</a></td>
<td class="text"> <span></span>
</td>
<td class="text">&#160;<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="Show.showAR( this, 'defref_srt_TitleOfIndividualAxis=FSI_ConsultantsMember', window );">Consultants [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="Show.showAR( this, 'defref_us-gaap_DeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsLineItems', window );"><strong>Deferred Compensation Arrangement with Individual, Excluding Share-Based Payments and Postretirement Benefits [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" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockOptionPlanExpense', window );">Stock option plan expense</a></td>
<td class="nump">330,862<span></span>
</td>
<td class="nump">$ 31,587<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="Show.showAR( this, 'defref_srt_TitleOfIndividualAxis=FSI_EmployeesMember', window );">Employees [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="Show.showAR( this, 'defref_us-gaap_DeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsLineItems', window );"><strong>Deferred Compensation Arrangement with Individual, Excluding Share-Based Payments and Postretirement Benefits [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="Show.showAR( this, 'defref_FSI_AdditionalExpensesDueToOptionsGranted', window );">Additional expenses due to options granted</a></td>
<td class="nump">$ 31,594<span></span>
</td>
<td class="nump">$ 74,228<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="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised', window );">Stock options exercised</a></td>
<td class="nump">8,000<span></span>
</td>
<td class="nump">29,500<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="Show.showAR( this, 'defref_srt_TitleOfIndividualAxis=FSI_ConsultantMember', window );">Consultant [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="Show.showAR( this, 'defref_us-gaap_DeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsLineItems', window );"><strong>Deferred Compensation Arrangement with Individual, Excluding Share-Based Payments and Postretirement Benefits [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" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised', window );">Stock options exercised</a></td>
<td class="text"> <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_FSI_AdditionalExpensesDueToOptionsGranted">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Additional expenses due to options granted.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">FSI_AdditionalExpensesDueToOptionsGranted</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</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_DeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsLineItems</td>
</tr>
<tr>
<td style="padding-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_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAggregateIntrinsicValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount by which current fair value of underlying stock exceeds exercise price of fully vested and expected to vest exercisable or convertible options. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAggregateIntrinsicValue</td>
</tr>
<tr>
<td style="padding-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_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Percentage of vesting of award under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage</td>
</tr>
<tr>
<td style="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_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Period from grant date that an equity-based award expires, 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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod</td>
</tr>
<tr>
<td style="padding-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_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 718<br> -SubTopic 10<br> -Subparagraph (e)(1)<br> -Name Accounting Standards Codification<br> -Paragraph 2<br> -Section 50<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_StockIssuedDuringPeriodSharesStockOptionsExercised">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 505<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480008/505-10-S99-1<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_StockOptionPlanExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of noncash expense for option under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockOptionPlanExpense</td>
</tr>
<tr>
<td style="padding-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_IncomeTaxAuthorityNameAxis=us-gaap_CanadaRevenueAgencyMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_IncomeTaxAuthorityNameAxis=us-gaap_CanadaRevenueAgencyMember</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=FSI_ConsultantsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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=FSI_ConsultantsMember</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=FSI_EmployeesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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=FSI_EmployeesMember</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=FSI_ConsultantMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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=FSI_ConsultantMember</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>R65.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/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.23.2</span><table class="report" border="0" cellspacing="2" id="idm139976164916000">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>CAPITAL STOCK (Details Narrative) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">6 Months Ended</th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jun. 30, 2023</div></th>
<th class="th"><div>Jun. 30, 2022</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsLineItems', window );"><strong>Deferred Compensation Arrangement with Individual, Excluding Share-Based Payments and Postretirement Benefits [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" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross', window );">Stock options granted</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">981,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesIssuedForServices', window );">Consultant for services, shares</a></td>
<td class="nump">1,272<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="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueIssuedForServices', window );">Consultant for services, value</a></td>
<td class="nump">$ 4,070<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="Show.showAR( this, 'defref_us-gaap_DividendsPayableAmountPerShare', window );">Dividends per share</a></td>
<td class="nump">$ 0.05<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="Show.showAR( this, 'defref_srt_TitleOfIndividualAxis=FSI_EmployeeMember', window );">Employee [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="Show.showAR( this, 'defref_us-gaap_DeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsLineItems', window );"><strong>Deferred Compensation Arrangement with Individual, Excluding Share-Based Payments and Postretirement Benefits [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" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross', window );">Stock options granted</a></td>
<td class="nump">8,000<span></span>
</td>
<td class="nump">29,500<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_DeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsLineItems</td>
</tr>
<tr>
<td style="padding-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_DividendsPayableAmountPerShare">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The per share amount of a dividend declared, but not paid, as of the financial reporting date.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482913/230-10-50-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DividendsPayableAmountPerShare</td>
</tr>
<tr>
<td style="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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Gross number of share options (or share units) granted during the period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross</td>
</tr>
<tr>
<td style="padding-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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_StockIssuedDuringPeriodValueIssuedForServices">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Value of stock issued in lieu of cash for services contributed to the entity. Value of the stock issued includes, but is not limited to, services contributed by vendors and founders.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodValueIssuedForServices</td>
</tr>
<tr>
<td style="padding-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_TitleOfIndividualAxis=FSI_EmployeeMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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=FSI_EmployeeMember</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>R66.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/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.23.2</span><table class="report" border="0" cellspacing="2" id="idm139976275324384">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>SCHEDULE OF DISTRIBUTIONS (Details) - USD ($)<br></strong></div></th>
<th class="th" colspan="3">3 Months Ended</th>
<th class="th" colspan="2">6 Months Ended</th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jun. 30, 2023</div></th>
<th class="th"><div>Jun. 30, 2022</div></th>
<th class="th"><div>Mar. 31, 2022</div></th>
<th class="th"><div>Jun. 30, 2023</div></th>
<th class="th"><div>Jun. 30, 2022</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems', window );"><strong>Consolidation, Less than Wholly Owned Subsidiary, Parent Ownership Interest, Effects of Changes, Net [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>
<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="Show.showAR( this, 'defref_us-gaap_MinorityInterest', window );">Distribution to noncontrolling interests, Beginning balance</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="nump">$ 2,605,034<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="Show.showAR( this, 'defref_us-gaap_MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders', window );">Distribution</a></td>
<td class="num">$ (387,696)<span></span>
</td>
<td class="num">$ (116,934)<span></span>
</td>
<td class="num">$ (265,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="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLossAttributableToNoncontrollingInterest', window );">Non-controlling interest share of income</a></td>
<td class="nump">184,862<span></span>
</td>
<td class="nump">$ 166,115<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">264,987<span></span>
</td>
<td class="nump">$ 310,592<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="Show.showAR( this, 'defref_us-gaap_MinorityInterest', window );">Distribution to noncontrolling interests, Ending balance</a></td>
<td class="nump">2,682,325<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2,682,325<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 2,605,034<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_OwnershipAxis=FSI_ENPInvestmentsLLCMember', window );">ENP Investments, LLC [Member] | Ownership Interest Purchase Agreement [Member]</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">&#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="Show.showAR( this, 'defref_us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems', window );"><strong>Consolidation, Less than Wholly Owned Subsidiary, Parent Ownership Interest, Effects of Changes, Net [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>
<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="Show.showAR( this, 'defref_us-gaap_MinorityInterest', window );">Distribution to noncontrolling interests, Beginning balance</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 2,602,843<span></span>
</td>
<td class="nump">2,605,034<span></span>
</td>
<td class="nump">$ 2,602,843<span></span>
</td>
<td class="nump">2,602,843<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders', window );">Distribution</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="num">(387,696)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(689,434)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLossAttributableToNoncontrollingInterest', window );">Non-controlling interest share of income</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="nump">264,987<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">691,625<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_MinorityInterest', window );">Distribution to noncontrolling interests, Ending balance</a></td>
<td class="nump">$ 2,482,325<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 2,482,325<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 2,605,034<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_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems</td>
</tr>
<tr>
<td style="padding-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_MinorityInterest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of equity (deficit) attributable to noncontrolling interest. Excludes temporary equity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(24))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(19))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 12: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-1<br><br>Reference 13: http://fasb.org/us-gaap/role/ref/legacyRef<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> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_MinorityInterest</td>
</tr>
<tr>
<td style="padding-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_MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Decrease in noncontrolling interest balance from payment of dividends or other distributions by the non-wholly owned subsidiary or partially owned entity, included in the consolidation of the parent entity, to the noncontrolling interest holders.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480008/505-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders</td>
</tr>
<tr>
<td style="padding-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_NetIncomeLossAttributableToNoncontrollingInterest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of Net Income (Loss) attributable to noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-8<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-9<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(17))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482765/220-10-50-6<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (a)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-1A<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 55<br> -Paragraph 4J<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481175/810-10-55-4J<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1A<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1B<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLossAttributableToNoncontrollingInterest</td>
</tr>
<tr>
<td style="padding-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_OwnershipAxis=FSI_ENPInvestmentsLLCMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_OwnershipAxis=FSI_ENPInvestmentsLLCMember</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_TypeOfArrangementAxis=FSI_OwnershipInterestPurchaseAgreementMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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=FSI_OwnershipInterestPurchaseAgreementMember</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>76
<FILENAME>R67.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/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.23.2</span><table class="report" border="0" cellspacing="2" id="idm139976164910432">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>SCHEDULE OF NON CONTROLLING INTEREST RELATED TO ACQUISITION (Details)<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th">
<div>Jun. 30, 2023 </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="Show.showAR( this, 'defref_us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems', window );"><strong>Consolidation, Less than Wholly Owned Subsidiary, Parent Ownership Interest, Effects of Changes, Net [Line Items]</strong></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="Show.showAR( this, 'defref_us-gaap_MinorityInterest', window );">Distribution to noncontrolling interests, Beginning balance</a></td>
<td class="nump">$ 2,605,034<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_MinorityInterest', window );">Distribution to noncontrolling interests, Ending balance</a></td>
<td class="nump">2,682,325<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_OwnershipAxis=FSI_MendotaLLCMember', window );">Mendota LLC [Member] | Ownership Interest Purchase Agreement [Member]</a></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="Show.showAR( this, 'defref_us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems', window );"><strong>Consolidation, Less than Wholly Owned Subsidiary, Parent Ownership Interest, Effects of Changes, Net [Line Items]</strong></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="Show.showAR( this, 'defref_us-gaap_MinorityInterest', window );">Distribution to noncontrolling interests, Beginning balance</a></td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsToAcquireBusinessesAndInterestInAffiliates', window );">Distribution to noncontrolling interests, Acquisition</a></td>
<td class="nump">200,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_MinorityInterest', window );">Distribution to noncontrolling interests, Ending balance</a></td>
<td class="nump">$ 200,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_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems</td>
</tr>
<tr>
<td style="padding-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_MinorityInterest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of equity (deficit) attributable to noncontrolling interest. Excludes temporary equity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(24))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(19))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 12: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-1<br><br>Reference 13: http://fasb.org/us-gaap/role/ref/legacyRef<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> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_MinorityInterest</td>
</tr>
<tr>
<td style="padding-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_PaymentsToAcquireBusinessesAndInterestInAffiliates">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash outflow associated with the acquisition of a controlling interest in another entity or an entity that is related to it but not strictly controlled (for example, an unconsolidated subsidiary, affiliate, joint venture or equity method investment).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 13<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-13<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsToAcquireBusinessesAndInterestInAffiliates</td>
</tr>
<tr>
<td style="padding-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_OwnershipAxis=FSI_MendotaLLCMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_OwnershipAxis=FSI_MendotaLLCMember</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_TypeOfArrangementAxis=FSI_OwnershipInterestPurchaseAgreementMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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=FSI_OwnershipInterestPurchaseAgreementMember</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>77
<FILENAME>R68.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/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.23.2</span><table class="report" border="0" cellspacing="2" id="idm139976164948224">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>NON-CONTROLLING INTERESTS (Details Narrative) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">6 Months Ended</th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Jun. 30, 2023</div></th>
<th class="th"><div>Jun. 30, 2022</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems', window );"><strong>Consolidation, Less than Wholly Owned Subsidiary, Parent Ownership Interest, Effects of Changes, Net [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" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsToMinorityShareholders', window );">Partnership distribution to non-controlling interest</a></td>
<td class="nump">$ 387,696<span></span>
</td>
<td class="nump">$ 382,856<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="Show.showAR( this, 'defref_us-gaap_AccountsReceivableNetCurrent', window );">Accounts receivable</a></td>
<td class="nump">$ 7,435,050<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 9,449,857<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_OwnershipAxis=FSI_ENPInvestmentsLLCMember', window );">ENP Investments, LLC [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="Show.showAR( this, 'defref_us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems', window );"><strong>Consolidation, Less than Wholly Owned Subsidiary, Parent Ownership Interest, Effects of Changes, Net [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" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest', window );">Subsidiary company ownership interest rate</a></td>
<td class="nump">65.00%<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="Show.showAR( this, 'defref_us-gaap_MinorityInterestOwnershipPercentageByParent', window );">Related party owner ship percentage</a></td>
<td class="nump">35.00%<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="Show.showAR( this, 'defref_us-gaap_PaymentsToMinorityShareholders', window );">Partnership distribution to non-controlling interest</a></td>
<td class="nump">$ 2,894,214<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="Show.showAR( this, 'defref_us-gaap_Revenues', window );">Sales</a></td>
<td class="nump">2,203,761<span></span>
</td>
<td class="nump">$ 2,760,661<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="Show.showAR( this, 'defref_us-gaap_AccountsReceivableNetCurrent', window );">Accounts receivable</a></td>
<td class="nump">$ 359,435<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 3,634,083<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_OwnershipAxis=FSI_MendotaLLCMember', window );">Mendota LLC [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="Show.showAR( this, 'defref_us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems', window );"><strong>Consolidation, Less than Wholly Owned Subsidiary, Parent Ownership Interest, Effects of Changes, Net [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" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest', window );">Subsidiary company ownership interest rate</a></td>
<td class="nump">80.00%<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="Show.showAR( this, 'defref_us-gaap_MinorityInterestOwnershipPercentageByParent', window );">Related party owner ship percentage</a></td>
<td class="nump">20.00%<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_AccountsReceivableNetCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481990/310-10-45-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481990/310-10-45-9<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems</td>
</tr>
<tr>
<td style="padding-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_MinorityInterestOwnershipPercentageByParent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The parent entity's interest in net assets of the subsidiary, expressed as a percentage.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_MinorityInterestOwnershipPercentageByParent</td>
</tr>
<tr>
<td style="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_PaymentsToMinorityShareholders">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash outflow to a noncontrolling interest. Includes, but not limited to, reduction of noncontrolling interest ownership. Excludes dividends paid to the noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-15<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsToMinorityShareholders</td>
</tr>
<tr>
<td style="padding-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_Revenues">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of revenue recognized from goods sold, services rendered, insurance premiums, or other activities that constitute an earning process. Includes, but is not limited to, investment and interest income before deduction of interest expense when recognized as a component of revenue, and sales and trading gain (loss).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 6: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 42<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-42<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-40<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-41<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 235<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-05(b)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479557/942-235-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Revenues</td>
</tr>
<tr>
<td style="padding-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_SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The number of units or percentage investment held in the subsidiary by the limited liability company or limited partnership.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest</td>
</tr>
<tr>
<td style="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_srt_OwnershipAxis=FSI_ENPInvestmentsLLCMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_OwnershipAxis=FSI_ENPInvestmentsLLCMember</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_OwnershipAxis=FSI_MendotaLLCMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_OwnershipAxis=FSI_MendotaLLCMember</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>78
<FILENAME>R69.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/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.23.2</span><table class="report" border="0" cellspacing="2" id="idm139976170318112">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>SCHEDULE OF REPORTABLE SEGMENTS (Details) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="2">6 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jun. 30, 2023</div></th>
<th class="th"><div>Jun. 30, 2022</div></th>
<th class="th"><div>Jun. 30, 2023</div></th>
<th class="th"><div>Jun. 30, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems', window );"><strong>Revenue from External Customer [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>
<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="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenue</a></td>
<td class="nump">$ 10,331,291<span></span>
</td>
<td class="nump">$ 11,165,143<span></span>
</td>
<td class="nump">$ 20,178,808<span></span>
</td>
<td class="nump">$ 21,948,423<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InterestExpense', window );">Interest expense</a></td>
<td class="nump">115,498<span></span>
</td>
<td class="nump">52,139<span></span>
</td>
<td class="nump">250,368<span></span>
</td>
<td class="nump">109,757<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxExpenseBenefit', window );">Income tax expense</a></td>
<td class="nump">354,372<span></span>
</td>
<td class="nump">542,802<span></span>
</td>
<td class="nump">654,149<span></span>
</td>
<td class="nump">1,255,248<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Segment profit (loss)</a></td>
<td class="nump">809,865<span></span>
</td>
<td class="nump">1,662,455<span></span>
</td>
<td class="nump">1,694,234<span></span>
</td>
<td class="nump">3,195,514<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment', window );">Expenditures for segment assets</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(3,784,193)<span></span>
</td>
<td class="num">(422,067)<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementBusinessSegmentsAxis=FSI_SegmentMember', window );">Segment [Member]</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>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems', window );"><strong>Revenue from External Customer [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>
<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="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenue</a></td>
<td class="nump">10,331,291<span></span>
</td>
<td class="nump">11,165,143<span></span>
</td>
<td class="nump">20,178,808<span></span>
</td>
<td class="nump">21,948,423<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InterestExpense', window );">Interest expense</a></td>
<td class="nump">115,498<span></span>
</td>
<td class="nump">52,139<span></span>
</td>
<td class="nump">250,368<span></span>
</td>
<td class="nump">109,757<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DepreciationNonproduction', window );">Depreciation and amortization</a></td>
<td class="nump">386,390<span></span>
</td>
<td class="nump">239,790<span></span>
</td>
<td class="nump">751,574<span></span>
</td>
<td class="nump">472,278<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxExpenseBenefit', window );">Income tax expense</a></td>
<td class="nump">354,372<span></span>
</td>
<td class="nump">542,802<span></span>
</td>
<td class="nump">654,149<span></span>
</td>
<td class="nump">1,255,248<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Segment profit (loss)</a></td>
<td class="nump">809,865<span></span>
</td>
<td class="nump">1,662,455<span></span>
</td>
<td class="nump">1,694,234<span></span>
</td>
<td class="nump">3,195,514<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="Show.showAR( this, 'defref_FSI_SegmentAssets', window );">Segment assets</a></td>
<td class="nump">52,801,913<span></span>
</td>
<td class="nump">47,555,057<span></span>
</td>
<td class="nump">52,801,913<span></span>
</td>
<td class="nump">47,555,057<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment', window );">Expenditures for segment assets</a></td>
<td class="num">(3,571,133)<span></span>
</td>
<td class="num">(245,383)<span></span>
</td>
<td class="num">(3,784,193)<span></span>
</td>
<td class="num">(422,067)<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ProductOrServiceAxis=FSI_EWCPMember', window );">EWCP [Member] | Segment [Member]</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>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems', window );"><strong>Revenue from External Customer [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>
<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="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenue</a></td>
<td class="nump">220,602<span></span>
</td>
<td class="nump">189,569<span></span>
</td>
<td class="nump">301,262<span></span>
</td>
<td class="nump">236,822<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InterestExpense', window );">Interest expense</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</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="Show.showAR( this, 'defref_us-gaap_DepreciationNonproduction', window );">Depreciation and amortization</a></td>
<td class="nump">4,440<span></span>
</td>
<td class="nump">9,202<span></span>
</td>
<td class="nump">8,719<span></span>
</td>
<td class="nump">18,446<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxExpenseBenefit', window );">Income tax expense</a></td>
<td class="nump">11,657<span></span>
</td>
<td class="nump">11,306<span></span>
</td>
<td class="nump">12,571<span></span>
</td>
<td class="nump">11,306<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Segment profit (loss)</a></td>
<td class="num">(41,262)<span></span>
</td>
<td class="num">(84,564)<span></span>
</td>
<td class="num">(192,990)<span></span>
</td>
<td class="num">(208,737)<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="Show.showAR( this, 'defref_FSI_SegmentAssets', window );">Segment assets</a></td>
<td class="nump">3,257,019<span></span>
</td>
<td class="nump">2,386,338<span></span>
</td>
<td class="nump">3,257,019<span></span>
</td>
<td class="nump">2,386,338<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment', window );">Expenditures for segment assets</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</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="Show.showAR( this, 'defref_srt_ProductOrServiceAxis=FSI_TPAMember', window );">TPA [Member] | Segment [Member]</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>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems', window );"><strong>Revenue from External Customer [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>
<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="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenue</a></td>
<td class="nump">10,100,689<span></span>
</td>
<td class="nump">10,975,574<span></span>
</td>
<td class="nump">19,877,546<span></span>
</td>
<td class="nump">21,711,601<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InterestExpense', window );">Interest expense</a></td>
<td class="nump">115,498<span></span>
</td>
<td class="nump">52,139<span></span>
</td>
<td class="nump">250,368<span></span>
</td>
<td class="nump">109,757<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DepreciationNonproduction', window );">Depreciation and amortization</a></td>
<td class="nump">381,951<span></span>
</td>
<td class="nump">230,588<span></span>
</td>
<td class="nump">742,855<span></span>
</td>
<td class="nump">453,832<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxExpenseBenefit', window );">Income tax expense</a></td>
<td class="nump">342,715<span></span>
</td>
<td class="nump">531,496<span></span>
</td>
<td class="nump">641,578<span></span>
</td>
<td class="nump">1,243,942<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Segment profit (loss)</a></td>
<td class="nump">851,127<span></span>
</td>
<td class="nump">1,747,019<span></span>
</td>
<td class="nump">1,887,224<span></span>
</td>
<td class="nump">3,404,251<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="Show.showAR( this, 'defref_FSI_SegmentAssets', window );">Segment assets</a></td>
<td class="nump">49,544,894<span></span>
</td>
<td class="nump">45,168,719<span></span>
</td>
<td class="nump">49,544,894<span></span>
</td>
<td class="nump">45,168,719<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment', window );">Expenditures for segment assets</a></td>
<td class="num">$ (3,571,133)<span></span>
</td>
<td class="num">$ (245,383)<span></span>
</td>
<td class="num">$ (3,784,193)<span></span>
</td>
<td class="num">$ (422,067)<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_FSI_SegmentAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Segment assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">FSI_SegmentAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</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_DepreciationNonproduction">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The expense recognized in the current period that allocates the cost of nonproduction tangible assets over their useful lives.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482099/360-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DepreciationNonproduction</td>
</tr>
<tr>
<td style="padding-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_EntityWideInformationRevenueFromExternalCustomerLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems</td>
</tr>
<tr>
<td style="padding-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="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-8<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-9<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-10<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB TOPIC 6.I.7)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (h)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Subparagraph (a)<br> -SubTopic 20<br> -Topic 740<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482659/740-20-45-2<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h))<br> -SubTopic 10<br> -Topic 235<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_InterestExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of the cost of borrowed funds accounted for as interest expense.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-10<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483581/946-220-45-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(3))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 45<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482925/835-30-45-3<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04.9)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (210.5-03(11))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 835<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483013/835-20-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InterestExpense</td>
</tr>
<tr>
<td style="padding-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_NetIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482765/220-10-50-6<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-8<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-9<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-4<br><br>Reference 13: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-10<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483581/946-220-45-7<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-1<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(1)(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-60B<br><br>Reference 32: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 34: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483499/205-20-50-7<br><br>Reference 35: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 36: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1A<br><br>Reference 37: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1B<br><br>Reference 38: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 39: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_PaymentsToAcquirePropertyPlantAndEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 13<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-13<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_RevenueFromContractWithCustomerExcludingAssessedTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 924<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479941/924-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-5<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 42<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-42<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-40<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-41<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_StatementBusinessSegmentsAxis=FSI_SegmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_StatementBusinessSegmentsAxis=FSI_SegmentMember</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_ProductOrServiceAxis=FSI_EWCPMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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=FSI_EWCPMember</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_ProductOrServiceAxis=FSI_TPAMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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=FSI_TPAMember</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>79
<FILENAME>R70.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/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.23.2</span><table class="report" border="0" cellspacing="2" id="idm139976164916464">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>SCHEDULE OF REVENUE GENERATED IN UNITED STATES AND CANADA (Details) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="2">6 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jun. 30, 2023</div></th>
<th class="th"><div>Jun. 30, 2022</div></th>
<th class="th"><div>Jun. 30, 2023</div></th>
<th class="th"><div>Jun. 30, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems', window );"><strong>Revenues from External Customers and Long-Lived Assets [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>
<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="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Sales</a></td>
<td class="nump">$ 10,331,291<span></span>
</td>
<td class="nump">$ 11,165,143<span></span>
</td>
<td class="nump">$ 20,178,808<span></span>
</td>
<td class="nump">$ 21,948,423<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_StatementGeographicalAxis=country_CA', window );">CANADA</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>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems', window );"><strong>Revenues from External Customers and Long-Lived Assets [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>
<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="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Sales</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">313,058<span></span>
</td>
<td class="nump">279,517<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_StatementGeographicalAxis=FSI_UnitedStatesandAbroadMember', window );">United Statesand Abroad [Member]</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>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems', window );"><strong>Revenues from External Customers and Long-Lived Assets [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>
<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="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Sales</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 19,865,750<span></span>
</td>
<td class="nump">$ 21,668,906<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_RevenueFromContractWithCustomerExcludingAssessedTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 924<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479941/924-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-5<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 42<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-42<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-40<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-41<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems</td>
</tr>
<tr>
<td style="padding-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_srt_StatementGeographicalAxis=country_CA">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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=country_CA</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=FSI_UnitedStatesandAbroadMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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=FSI_UnitedStatesandAbroadMember</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>80
<FILENAME>R71.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/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.23.2</span><table class="report" border="0" cellspacing="2" id="idm139976177164784">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>SCHEDULE OF LONG-LIVED ASSETS ARE LOCATED IN CANADA AND UNITED STATES (Details) - USD ($)<br></strong></div></th>
<th class="th"><div>Jun. 30, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems', window );"><strong>Revenues from External Customers and Long-Lived 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" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NoncurrentAssets', window );">Total</a></td>
<td class="nump">$ 17,857,717<span></span>
</td>
<td class="nump">$ 14,850,786<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_StatementGeographicalAxis=country_CA', window );">CANADA</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="Show.showAR( this, 'defref_us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems', window );"><strong>Revenues from External Customers and Long-Lived 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" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NoncurrentAssets', window );">Total</a></td>
<td class="nump">151,300<span></span>
</td>
<td class="nump">150,890<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_StatementGeographicalAxis=country_US', window );">UNITED STATES</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="Show.showAR( this, 'defref_us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems', window );"><strong>Revenues from External Customers and Long-Lived 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" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NoncurrentAssets', window );">Total</a></td>
<td class="nump">$ 17,706,417<span></span>
</td>
<td class="nump">$ 14,699,896<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_NoncurrentAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Long-lived assets other than financial instruments, long-term customer relationships of a financial institution, mortgage and other servicing rights, deferred policy acquisition costs, and deferred tax assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-41<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NoncurrentAssets</td>
</tr>
<tr>
<td style="padding-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_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems</td>
</tr>
<tr>
<td style="padding-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_srt_StatementGeographicalAxis=country_CA">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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=country_CA</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=country_US">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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=country_US</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>R72.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/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.23.2</span><table class="report" border="0" cellspacing="2" id="idm139976172761376">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>SEGMENTED, SIGNIFICANT CUSTOMER INFORMATION AND ECONOMIC DEPENDENCY (Details Narrative)<br></strong></div></th>
<th class="th" colspan="2">6 Months Ended</th>
</tr>
<tr>
<th class="th">
<div>Jun. 30, 2023 </div>
<div>USD ($) </div>
<div>Segments</div>
</th>
<th class="th">
<div>Jun. 30, 2022 </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="Show.showAR( this, 'defref_us-gaap_EntityWideRevenueMajorCustomerLineItems', window );"><strong>Revenue, Major Customer [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" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NumberOfOperatingSegments', window );">Number of operating segments | Segments</a></td>
<td class="nump">2<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="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_AccountsReceivableMember', window );">Accounts Receivable [Member] | Three Customers [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="Show.showAR( this, 'defref_us-gaap_EntityWideRevenueMajorCustomerLineItems', window );"><strong>Revenue, Major Customer [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" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountsReceivableNet', window );">Accounts receivable, after allowance for credit loss | $</a></td>
<td class="nump">$ 10,681,892<span></span>
</td>
<td class="nump">$ 11,597,726<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="Show.showAR( this, 'defref_FSI_StockOptionExercisePercent', window );">Stock option exercise percent</a></td>
<td class="nump">53.00%<span></span>
</td>
<td class="nump">53.00%<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_FSI_StockOptionExercisePercent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Stock option exercise percent</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">FSI_StockOptionExercisePercent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</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_AccountsReceivableNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 310<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480833/946-310-45-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(5)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 954<br> -SubTopic 310<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481058/954-310-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsReceivableNet</td>
</tr>
<tr>
<td style="padding-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_EntityWideRevenueMajorCustomerLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EntityWideRevenueMajorCustomerLineItems</td>
</tr>
<tr>
<td style="padding-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_NumberOfOperatingSegments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of operating segments. An operating segment is a component of an enterprise: (a) that engages in business activities from which it may earn revenues and incur expenses (including revenues and expenses relating to transactions with other components of the same enterprise), (b) whose operating results are regularly reviewed by the enterprise's chief operating decision maker to make decisions about resources to be allocated to the segment and assess its performance, and (c) for which discrete financial information is available. An operating segment may engage in business activities for which it has yet to earn revenues, for example, start-up operations may be operating segments before earning revenues.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 18<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-18<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NumberOfOperatingSegments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:integerItemType</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_ConcentrationRiskByBenchmarkAxis=us-gaap_AccountsReceivableMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_MajorCustomersAxis=FSI_ThreeCustomersMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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=FSI_ThreeCustomersMember</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>82
<FILENAME>form10-q_htm.xml
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<XML>
<?xml version="1.0" encoding="utf-8"?>
<xbrl
  xmlns="http://www.xbrl.org/2003/instance"
  xmlns:FSI="http://flexiblesolutions.com/20230630"
  xmlns:country="http://xbrl.sec.gov/country/2023"
  xmlns:dei="http://xbrl.sec.gov/dei/2023"
  xmlns:iso4217="http://www.xbrl.org/2003/iso4217"
  xmlns:link="http://www.xbrl.org/2003/linkbase"
  xmlns:srt="http://fasb.org/srt/2023"
  xmlns:us-gaap="http://fasb.org/us-gaap/2023"
  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="fsi-20230630.xsd" xlink:type="simple"/>
    <context id="From2023-01-01to2023-06-30">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="AsOf2023-08-14">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
        </entity>
        <period>
            <instant>2023-08-14</instant>
        </period>
    </context>
    <context id="AsOf2023-06-30">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
        </entity>
        <period>
            <instant>2023-06-30</instant>
        </period>
    </context>
    <context id="AsOf2022-12-31">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="From2023-04-012023-06-30">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
        </entity>
        <period>
            <startDate>2023-04-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="From2022-04-012022-06-30">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-06-30">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="AsOf2021-12-31">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="AsOf2022-06-30">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="AsOf2022-12-31_us-gaap_CommonStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="AsOf2022-12-31_custom_CapitalInExcessOfParValueMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">FSI:CapitalInExcessOfParValueMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="AsOf2022-12-31_us-gaap_RetainedEarningsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="AsOf2022-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="AsOf2022-12-31_us-gaap_ParentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:ParentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="AsOf2022-12-31_us-gaap_NoncontrollingInterestMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-03-31_us-gaap_CommonStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="AsOf2023-03-31_custom_CapitalInExcessOfParValueMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">FSI:CapitalInExcessOfParValueMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="AsOf2023-03-31_us-gaap_RetainedEarningsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="AsOf2023-03-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="AsOf2023-03-31_us-gaap_ParentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:ParentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="AsOf2023-03-31_us-gaap_NoncontrollingInterestMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="AsOf2023-03-31">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="AsOf2021-12-31_us-gaap_CommonStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</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_custom_CapitalInExcessOfParValueMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">FSI:CapitalInExcessOfParValueMember</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">0001069394</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="AsOf2021-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="AsOf2021-12-31_us-gaap_ParentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:ParentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="AsOf2021-12-31_us-gaap_NoncontrollingInterestMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="AsOf2022-03-31_us-gaap_CommonStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-03-31</instant>
        </period>
    </context>
    <context id="AsOf2022-03-31_custom_CapitalInExcessOfParValueMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">FSI:CapitalInExcessOfParValueMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-03-31</instant>
        </period>
    </context>
    <context id="AsOf2022-03-31_us-gaap_RetainedEarningsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-03-31</instant>
        </period>
    </context>
    <context id="AsOf2022-03-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-03-31</instant>
        </period>
    </context>
    <context id="AsOf2022-03-31_us-gaap_ParentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:ParentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-03-31</instant>
        </period>
    </context>
    <context id="AsOf2022-03-31_us-gaap_NoncontrollingInterestMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-03-31</instant>
        </period>
    </context>
    <context id="AsOf2022-03-31">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
        </entity>
        <period>
            <instant>2022-03-31</instant>
        </period>
    </context>
    <context id="From2023-01-012023-03-31_us-gaap_CommonStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-03-31_custom_CapitalInExcessOfParValueMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">FSI:CapitalInExcessOfParValueMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-03-31_us-gaap_RetainedEarningsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-03-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-03-31_us-gaap_ParentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:ParentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-03-31_us-gaap_NoncontrollingInterestMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-03-31">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="From2023-04-012023-06-30_us-gaap_CommonStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-04-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="From2023-04-012023-06-30_custom_CapitalInExcessOfParValueMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">FSI:CapitalInExcessOfParValueMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-04-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="From2023-04-012023-06-30_us-gaap_RetainedEarningsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-04-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="From2023-04-012023-06-30_us-gaap_AccumulatedOtherComprehensiveIncomeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-04-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="From2023-04-012023-06-30_us-gaap_ParentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:ParentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-04-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="From2023-04-012023-06-30_us-gaap_NoncontrollingInterestMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-04-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-03-31_us-gaap_CommonStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-03-31_custom_CapitalInExcessOfParValueMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">FSI:CapitalInExcessOfParValueMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-03-31_us-gaap_RetainedEarningsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-03-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-03-31_us-gaap_ParentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:ParentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-03-31_us-gaap_NoncontrollingInterestMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-03-31">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="From2022-04-012022-06-30_us-gaap_CommonStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="From2022-04-012022-06-30_custom_CapitalInExcessOfParValueMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">FSI:CapitalInExcessOfParValueMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="From2022-04-012022-06-30_us-gaap_RetainedEarningsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="From2022-04-012022-06-30_us-gaap_AccumulatedOtherComprehensiveIncomeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="From2022-04-012022-06-30_us-gaap_ParentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:ParentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="From2022-04-012022-06-30_us-gaap_NoncontrollingInterestMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="AsOf2023-06-30_us-gaap_CommonStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-06-30</instant>
        </period>
    </context>
    <context id="AsOf2023-06-30_custom_CapitalInExcessOfParValueMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">FSI:CapitalInExcessOfParValueMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-06-30</instant>
        </period>
    </context>
    <context id="AsOf2023-06-30_us-gaap_RetainedEarningsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-06-30</instant>
        </period>
    </context>
    <context id="AsOf2023-06-30_us-gaap_AccumulatedOtherComprehensiveIncomeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-06-30</instant>
        </period>
    </context>
    <context id="AsOf2023-06-30_us-gaap_ParentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:ParentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-06-30</instant>
        </period>
    </context>
    <context id="AsOf2023-06-30_us-gaap_NoncontrollingInterestMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-06-30</instant>
        </period>
    </context>
    <context id="AsOf2022-06-30_us-gaap_CommonStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="AsOf2022-06-30_custom_CapitalInExcessOfParValueMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">FSI:CapitalInExcessOfParValueMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="AsOf2022-06-30_us-gaap_RetainedEarningsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="AsOf2022-06-30_us-gaap_AccumulatedOtherComprehensiveIncomeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="AsOf2022-06-30_us-gaap_ParentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:ParentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="AsOf2022-06-30_us-gaap_NoncontrollingInterestMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="From2023-01-012023-06-30_custom_EnpPeruInvestmentsLlcMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">FSI:EnpPeruInvestmentsLlcMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-06-30_custom_ENPInvestmentsLLCAndENPMendotaMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">FSI:ENPInvestmentsLLCAndENPMendotaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-12-31_custom_ENPPeruMember_custom_UnrelatedPartyMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">FSI:ENPPeruMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:UnrelatedPartyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-12-31_custom_ENPPeruMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">FSI:ENPPeruMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-06-30_custom_ENPPeruMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">FSI:ENPPeruMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="From2023-06-012023-06-30_custom_MendotaLLCMember_custom_UnrelatedPartyMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">FSI:MendotaLLCMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:UnrelatedPartyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-06-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="From2023-06-012023-06-30_custom_MendotaLLCMember_us-gaap_RelatedPartyMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">FSI:MendotaLLCMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">us-gaap:RelatedPartyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-06-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-06-30_us-gaap_ShippingAndHandlingMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ShippingAndHandlingMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-06-30_us-gaap_ShippingAndHandlingMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ShippingAndHandlingMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-06-30_custom_ThreePrimaryCustomersMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">FSI:ThreePrimaryCustomersMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-06-30_custom_ThreePrimaryCustomersMember_us-gaap_RevenueFromContractWithCustomerMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:RevenueFromContractWithCustomerMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">FSI:ThreePrimaryCustomersMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-06-30_custom_ThreePrimaryCustomersMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">FSI:ThreePrimaryCustomersMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-06-30_custom_ThreePrimaryCustomersMember_us-gaap_RevenueFromContractWithCustomerMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:RevenueFromContractWithCustomerMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">FSI:ThreePrimaryCustomersMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="From2023-04-012023-06-30_custom_ThreePrimaryCustomersMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">FSI:ThreePrimaryCustomersMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-04-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="From2023-04-012023-06-30_custom_ThreePrimaryCustomersMember_us-gaap_RevenueFromContractWithCustomerMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:RevenueFromContractWithCustomerMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">FSI:ThreePrimaryCustomersMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-04-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="From2022-04-012022-06-30_custom_ThreePrimaryCustomersMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">FSI:ThreePrimaryCustomersMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="From2022-04-012022-06-30_custom_ThreePrimaryCustomersMember_us-gaap_RevenueFromContractWithCustomerMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:RevenueFromContractWithCustomerMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">FSI:ThreePrimaryCustomersMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-06-30_custom_ThreePrimaryCustomersMember_us-gaap_AccountsReceivableMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">FSI:ThreePrimaryCustomersMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-06-30_custom_ThreePrimaryCustomersMember_us-gaap_AccountsReceivableMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">FSI:ThreePrimaryCustomersMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="From2023-04-012023-06-30_custom_ThreePrimaryCustomersMember_us-gaap_AccountsReceivableMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">FSI:ThreePrimaryCustomersMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-04-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="From2022-04-012022-06-30_custom_ThreePrimaryCustomersMember_us-gaap_AccountsReceivableMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">FSI:ThreePrimaryCustomersMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-12-31_custom_ThreePrimaryCustomersMember_us-gaap_AccountsReceivableMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">FSI:ThreePrimaryCustomersMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-06-30_custom_InvestmentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">FSI:InvestmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-06-30_us-gaap_ComputerEquipmentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ComputerEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-06-30_us-gaap_MachineryAndEquipmentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:MachineryAndEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-06-30_us-gaap_OfficeEquipmentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:OfficeEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-06-30_custom_BoatMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">FSI:BoatMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-06-30_us-gaap_BuildingAndBuildingImprovementsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:BuildingAndBuildingImprovementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-06-30_custom_TrailerMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">FSI:TrailerMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-06-30_us-gaap_AutomobilesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:AutomobilesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-06-30_us-gaap_PatentsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:PatentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-06-30_us-gaap_TechnologyEquipmentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:TechnologyEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-06-30_us-gaap_LeaseholdImprovementsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LeaseholdImprovementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-06-30_us-gaap_CustomerRelationshipsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-06-30_custom_SoftwareMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">FSI:SoftwareMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-12-31">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="AsOf2023-06-30_us-gaap_BuildingAndBuildingImprovementsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:BuildingAndBuildingImprovementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-06-30</instant>
        </period>
    </context>
    <context id="AsOf2023-06-30_us-gaap_AutomobilesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:AutomobilesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-06-30</instant>
        </period>
    </context>
    <context id="AsOf2023-06-30_us-gaap_ComputerEquipmentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ComputerEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-06-30</instant>
        </period>
    </context>
    <context id="AsOf2023-06-30_us-gaap_OfficeEquipmentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:OfficeEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-06-30</instant>
        </period>
    </context>
    <context id="AsOf2023-06-30_us-gaap_MachineryAndEquipmentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:MachineryAndEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-06-30</instant>
        </period>
    </context>
    <context id="AsOf2023-06-30_custom_TrailerMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">FSI:TrailerMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-06-30</instant>
        </period>
    </context>
    <context id="AsOf2023-06-30_custom_BoatMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">FSI:BoatMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-06-30</instant>
        </period>
    </context>
    <context id="AsOf2023-06-30_us-gaap_LeaseholdImprovementsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LeaseholdImprovementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-06-30</instant>
        </period>
    </context>
    <context id="AsOf2023-06-30_us-gaap_DevelopedTechnologyRightsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:DevelopedTechnologyRightsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-06-30</instant>
        </period>
    </context>
    <context id="AsOf2023-06-30_us-gaap_LandMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LandMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-06-30</instant>
        </period>
    </context>
    <context id="AsOf2022-12-31_us-gaap_BuildingAndBuildingImprovementsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:BuildingAndBuildingImprovementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="AsOf2022-12-31_us-gaap_AutomobilesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:AutomobilesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="AsOf2022-12-31_us-gaap_ComputerEquipmentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ComputerEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="AsOf2022-12-31_us-gaap_OfficeEquipmentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:OfficeEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="AsOf2022-12-31_us-gaap_MachineryAndEquipmentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:MachineryAndEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="AsOf2022-12-31_custom_TrailerMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">FSI:TrailerMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="AsOf2022-12-31_custom_BoatMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">FSI:BoatMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="AsOf2022-12-31_us-gaap_LeaseholdImprovementsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LeaseholdImprovementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="AsOf2022-12-31_us-gaap_DevelopedTechnologyRightsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:DevelopedTechnologyRightsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="AsOf2022-12-31_us-gaap_LandMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LandMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="From2023-01-012023-06-30_us-gaap_PatentsMember418052750">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:PatentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-06-30_us-gaap_PatentsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:PatentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="AsOf2021-12-31_custom_EnPInvestmentsCorporationLLCMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:EnPInvestmentsCorporationLLCMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="From2022-01-012022-12-31_custom_EnPInvestmentsCorporationLLCMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:EnPInvestmentsCorporationLLCMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="AsOf2022-12-31_custom_EnPInvestmentsCorporationLLCMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:EnPInvestmentsCorporationLLCMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="From2023-01-012023-06-30_custom_EnPInvestmentsCorporationLLCMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:EnPInvestmentsCorporationLLCMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="AsOf2023-06-30_custom_EnPInvestmentsCorporationLLCMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:EnPInvestmentsCorporationLLCMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-06-30</instant>
        </period>
    </context>
    <context id="AsOf2023-06-30_us-gaap_FiniteLivedIntangibleAssetsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByAssetClassAxis">us-gaap:FiniteLivedIntangibleAssetsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-06-30</instant>
        </period>
    </context>
    <context id="AsOf2016-12-31_custom_EnpPeruInvestmentsLlcMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">FSI:EnpPeruInvestmentsLlcMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2016-12-31</instant>
        </period>
    </context>
    <context id="AsOf2016-12-31_custom_NanoChemMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">FSI:NanoChemMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2016-12-31</instant>
        </period>
    </context>
    <context id="AsOf2016-12-31_custom_ENPInvestmentsLLCMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">FSI:ENPInvestmentsLLCMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2016-12-31</instant>
        </period>
    </context>
    <context id="AsOf2022-06-30_custom_NanoChemMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">FSI:NanoChemMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="From2022-06-012022-06-30_custom_ENPPeruMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">FSI:ENPPeruMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-06-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="AsOf2022-06-30_custom_ENPPeruMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">FSI:ENPPeruMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="AsOf2023-06-30_custom_EnpnvestmentsLlcMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">FSI:EnpnvestmentsLlcMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-06-30</instant>
        </period>
    </context>
    <context id="AsOf2023-06-30_custom_ENPInvestmentsLLCMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">FSI:ENPInvestmentsLLCMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-06-30</instant>
        </period>
    </context>
    <context id="AsOf2018-12-01_custom_AppliedHoldingCorpMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:AppliedHoldingCorpMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-12-01</instant>
        </period>
    </context>
    <context id="From2021-01-012021-12-31">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="AsOf2018-12-01_custom_TrioOpportunityCorpMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:TrioOpportunityCorpMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-12-01</instant>
        </period>
    </context>
    <context id="AsOf2023-04-30_custom_TrioOpportunityCorpMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:TrioOpportunityCorpMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-04-30</instant>
        </period>
    </context>
    <context id="From2018-12-012018-12-31_us-gaap_CommonClassBMember_custom_TrioOpportunityCorpMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassBMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:TrioOpportunityCorpMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-12-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="AsOf2018-12-31_us-gaap_CommonClassBMember_custom_TrioOpportunityCorpMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassBMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:TrioOpportunityCorpMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-12-31</instant>
        </period>
    </context>
    <context id="AsOf2019-01-31_custom_FloridaBasedLLCMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">FSI:FloridaBasedLLCMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-01-31</instant>
        </period>
    </context>
    <context id="From2023-01-012023-06-30_custom_FloridaBasedLLCMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:FloridaBasedLLCMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-06-30_custom_FloridaBasedLLCMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:FloridaBasedLLCMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="AsOf2023-06-30_custom_FloridaBasedLLCMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:FloridaBasedLLCMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-06-30</instant>
        </period>
    </context>
    <context id="AsOf2022-12-31_custom_FloridaBasedLLCMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:FloridaBasedLLCMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="From2020-12-012020-12-31_custom_LygosIncMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:LygosIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-12-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="From2021-01-012021-12-31_custom_LygosIncMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:LygosIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="AsOf2021-12-31_custom_LygosIncMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:LygosIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="From2023-01-012023-06-30_custom_EnpPeruInvestmentsLlcMember418055859">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:EnpPeruInvestmentsLlcMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="AsOf2021-12-31_custom_EnpPeruInvestmentsLlcMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:EnpPeruInvestmentsLlcMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="From2022-01-012022-12-31_custom_EnpPeruInvestmentsLlcMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:EnpPeruInvestmentsLlcMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="AsOf2022-12-31_custom_EnpPeruInvestmentsLlcMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:EnpPeruInvestmentsLlcMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="AsOf2021-12-31_custom_FloridaBasedLLCMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:FloridaBasedLLCMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="From2022-01-012022-12-31_custom_FloridaBasedLLCMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:FloridaBasedLLCMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="AsOf2023-06-30_custom_StockYardAndBankMember_custom_MidlandStatesBankMember_custom_NewAgreementMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">FSI:StockYardAndBankMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandStatesBankMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">FSI:NewAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-06-30</instant>
        </period>
    </context>
    <context id="From2023-06-012023-06-30_custom_StockYardAndBankMember_custom_MidlandStatesBankMember_custom_NewAgreementMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">FSI:StockYardAndBankMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandStatesBankMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">FSI:NewAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-06-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="AsOf2022-12-31_custom_StockYardAndBankMember_custom_MidlandStatesBankMember_custom_NewAgreementMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">FSI:StockYardAndBankMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandStatesBankMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">FSI:NewAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-06-30_custom_NewAgreementMember_custom_NanoChemSolutionIncMember_custom_StockYardAndBankMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">FSI:StockYardAndBankMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">FSI:NewAgreementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:NanoChemSolutionIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-06-30</instant>
        </period>
    </context>
    <context id="AsOf2023-06-30_custom_NanoChemSolutionIncMember_custom_StockYardAndBankMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">FSI:StockYardAndBankMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:NanoChemSolutionIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-06-30</instant>
        </period>
    </context>
    <context id="AsOf2022-12-31_custom_NewAgreementMember_custom_NanoChemSolutionIncMember_custom_StockYardAndBankMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">FSI:StockYardAndBankMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">FSI:NewAgreementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:NanoChemSolutionIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-06-30_custom_StockBankMember_custom_MidlandStatesBankMember_custom_NewAgreementMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">FSI:StockBankMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandStatesBankMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">FSI:NewAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-06-30</instant>
        </period>
    </context>
    <context id="From2023-06-012023-06-30_custom_StockBankMember_custom_MidlandStatesBankMember_custom_NewAgreementMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">FSI:StockBankMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandStatesBankMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">FSI:NewAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-06-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="AsOf2022-12-31_custom_StockBankMember_custom_MidlandStatesBankMember_custom_NewAgreementMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">FSI:StockBankMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandStatesBankMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">FSI:NewAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-06-30_custom_NewAgreementMember_custom_NanoChemSolutionIncMember_custom_StockBankMember_us-gaap_RevolvingCreditFacilityMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">FSI:StockBankMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">FSI:NewAgreementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:NanoChemSolutionIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-06-30</instant>
        </period>
    </context>
    <context id="AsOf2022-12-31_custom_NewAgreementMember_custom_NanoChemSolutionIncMember_custom_StockBankMember_us-gaap_RevolvingCreditFacilityMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">FSI:StockBankMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">FSI:NewAgreementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:NanoChemSolutionIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="AsOf2020-10-31_custom_TermLoanMember_custom_MidlandBankMember_custom_NanoChemSolutionsIncMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:NanoChemSolutionsIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-10-31</instant>
        </period>
    </context>
    <context id="AsOf2020-10-31_custom_TermLoanMember_custom_MidlandBankMember_us-gaap_PrimeRateMember_custom_NanoChemSolutionsIncMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:PrimeRateMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:NanoChemSolutionsIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-10-31</instant>
        </period>
    </context>
    <context id="From2020-10-012020-10-31_custom_TermLoanMember_custom_MidlandBankMember_custom_NanoChemSolutionsIncMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:NanoChemSolutionsIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-10-01</startDate>
            <endDate>2020-10-31</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-03-31_custom_TermLoanMember_custom_MidlandBankMember_custom_NanoChemSolutionsIncMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:NanoChemSolutionsIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-06-30_custom_TermLoanMember_custom_MidlandBankMember_custom_NanoChemSolutionsIncMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:NanoChemSolutionsIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="AsOf2020-10-31_custom_MidlandBankMember_custom_NanoChemSolutionsIncMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:NanoChemSolutionsIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-10-31</instant>
        </period>
    </context>
    <context id="AsOf2020-10-31_custom_MidlandBankMember_us-gaap_PrimeRateMember_custom_NanoChemSolutionsIncMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:PrimeRateMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:NanoChemSolutionsIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-10-31</instant>
        </period>
    </context>
    <context id="From2020-10-012020-10-31_custom_MidlandBankMember_custom_NanoChemSolutionsIncMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:NanoChemSolutionsIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-10-01</startDate>
            <endDate>2020-10-31</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-03-31_custom_NanoChemSolutionsIncMember_custom_MidlandBankMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:NanoChemSolutionsIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="AsOf2023-06-30_custom_MidlandBankMember_custom_NanoChemSolutionsIncMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:NanoChemSolutionsIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-06-30</instant>
        </period>
    </context>
    <context id="AsOf2022-12-31_custom_MidlandBankMember_custom_NanoChemSolutionsIncMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:NanoChemSolutionsIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="AsOf2020-01-31_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPMendotaMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:ENPMendotaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-01-31</instant>
        </period>
    </context>
    <context id="From2020-01-012020-01-31_custom_StockYardsBankTrustMember_custom_EnpRealtyLLCMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:StockYardsBankTrustMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:EnpRealtyLLCMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-01-31</endDate>
        </period>
    </context>
    <context id="AsOf2020-01-31_custom_StockYardsBankTrustMember_us-gaap_PrimeRateMember_custom_EnpRealtyLLCMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:StockYardsBankTrustMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:PrimeRateMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:EnpRealtyLLCMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-01-31</instant>
        </period>
    </context>
    <context id="From2020-01-012020-01-31_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPMendotaMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:ENPMendotaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-01-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-06-30_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPMendotaMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:ENPMendotaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-12-31_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPMendotaMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:ENPMendotaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="AsOf2023-06-30_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPMendotaMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:ENPMendotaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-06-30</instant>
        </period>
    </context>
    <context id="AsOf2022-12-31_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPMendotaMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:ENPMendotaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="AsOf2022-06-30_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPMendotaMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:ENPMendotaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="From2023-01-012023-06-30_custom_NanoChemMember_custom_TermLoanMember_custom_MidlandBankMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:NanoChemMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-06-30_custom_NanoChemMember_custom_TermLoanMember_custom_MidlandBankMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:NanoChemMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="AsOf2023-06-30_custom_TermLoanMember_custom_MidlandBankMember_custom_NanoChemMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:NanoChemMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-06-30</instant>
        </period>
    </context>
    <context id="AsOf2022-12-31_custom_TermLoanMember_custom_MidlandBankMember_custom_NanoChemMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:NanoChemMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="AsOf2020-01-31_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPPeruOneMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:ENPPeruOneMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-01-31</instant>
        </period>
    </context>
    <context id="AsOf2020-01-31_custom_TermLoanMember_custom_MidlandBankMember_us-gaap_PrimeRateMember_custom_ENPPeruOneMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:PrimeRateMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:ENPPeruOneMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-01-31</instant>
        </period>
    </context>
    <context id="From2020-01-012020-01-31_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPPeruOneMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:ENPPeruOneMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-01-31</endDate>
        </period>
    </context>
    <context id="AsOf2022-06-30_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPPeruOneMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:ENPPeruOneMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="From2023-01-012023-06-30_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPPeruOneMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:ENPPeruOneMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-06-30_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPPeruOneMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:ENPPeruOneMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="AsOf2023-06-30_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPPeruOneMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:ENPPeruOneMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-06-30</instant>
        </period>
    </context>
    <context id="AsOf2022-12-31_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPPeruOneMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:ENPPeruOneMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="AsOf2022-06-30_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPPeruInvestmentsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:ENPPeruInvestmentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="From2022-06-012022-06-30_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPPeruInvestmentsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:ENPPeruInvestmentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-06-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="AsOf2022-06-30_custom_TermLoanMember_custom_MidlandBankMember_us-gaap_PrimeRateMember_custom_ENPPeruInvestmentsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:PrimeRateMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:ENPPeruInvestmentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="From2023-01-012023-06-30_custom_ENPPeruInvestmentsMember_custom_TermLoanMember_custom_MidlandBankMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:ENPPeruInvestmentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-06-30_custom_ENPPeruInvestmentsMember_custom_TermLoanMember_custom_MidlandBankMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:ENPPeruInvestmentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="AsOf2023-06-30_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPPeruInvestmentsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:ENPPeruInvestmentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-06-30</instant>
        </period>
    </context>
    <context id="AsOf2022-12-31_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPPeruInvestmentsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:ENPPeruInvestmentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="AsOf2022-12-31_custom_TermLoanMember_custom_NanoChemMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:NanoChemMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="AsOf2022-12-31_custom_TermLoanMember_us-gaap_PrimeRateMember_custom_NanoChemMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:PrimeRateMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:NanoChemMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="From2023-01-012023-06-30_custom_NanoChemMember_custom_TermLoanMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:NanoChemMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-06-30_custom_NanoChemMember_custom_TermLoanMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:NanoChemMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="AsOf2023-06-30_custom_TermLoanMember_custom_NanoChemMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:NanoChemMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-06-30</instant>
        </period>
    </context>
    <context id="AsOf2023-06-30_custom_TermLoanMember_custom_MendotaMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:MendotaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-06-30</instant>
        </period>
    </context>
    <context id="From2023-01-012023-06-30_custom_MendotaMember_custom_TermLoanMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:MendotaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-06-30_custom_MendotaMember_custom_TermLoanMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:MendotaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="AsOf2022-12-31_custom_TermLoanMember_custom_MendotaMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:MendotaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-06-30_custom_MidlandStatesBankMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandStatesBankMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-06-30</instant>
        </period>
    </context>
    <context id="AsOf2022-12-31_custom_MidlandStatesBankMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandStatesBankMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-06-30_custom_MidlandStatesBankOneMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandStatesBankOneMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-06-30</instant>
        </period>
    </context>
    <context id="AsOf2022-12-31_custom_MidlandStatesBankOneMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandStatesBankOneMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-06-30_custom_StockYardsBankTrustMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:StockYardsBankTrustMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-06-30</instant>
        </period>
    </context>
    <context id="AsOf2022-12-31_custom_StockYardsBankTrustMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:StockYardsBankTrustMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-06-30_custom_StockYardsBankTrustOneMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:StockYardsBankTrustOneMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-06-30</instant>
        </period>
    </context>
    <context id="AsOf2022-12-31_custom_StockYardsBankTrustOneMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:StockYardsBankTrustOneMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-06-30_custom_StockYardsBankTrustTwoMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:StockYardsBankTrustTwoMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-06-30</instant>
        </period>
    </context>
    <context id="AsOf2022-12-31_custom_StockYardsBankTrustTwoMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:StockYardsBankTrustTwoMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-06-30_custom_StockYardsBankTrustThreeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:StockYardsBankTrustThreeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-06-30</instant>
        </period>
    </context>
    <context id="AsOf2022-12-31_custom_StockYardsBankTrustThreeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:StockYardsBankTrustThreeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-06-30_custom_StockYardsBankTrustFourMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:StockYardsBankTrustFourMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-06-30</instant>
        </period>
    </context>
    <context id="AsOf2022-12-31_custom_StockYardsBankTrustFourMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:StockYardsBankTrustFourMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-06-30_custom_StockYardsBankTrustFiveMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:StockYardsBankTrustFiveMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-06-30</instant>
        </period>
    </context>
    <context id="AsOf2022-12-31_custom_StockYardsBankTrustFiveMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:StockYardsBankTrustFiveMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="From2023-01-012023-06-30_custom_ConsultantsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">FSI:ConsultantsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-06-30_custom_ConsultantsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">FSI:ConsultantsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-06-30_custom_EmployeesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">FSI:EmployeesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-06-30_custom_EmployeesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">FSI:EmployeesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-06-30_custom_ConsultantMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">FSI:ConsultantMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="AsOf2023-06-30_us-gaap_CanadaRevenueAgencyMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityNameAxis">us-gaap:CanadaRevenueAgencyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-06-30</instant>
        </period>
    </context>
    <context id="AsOf2022-12-31_us-gaap_CanadaRevenueAgencyMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityNameAxis">us-gaap:CanadaRevenueAgencyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="AsOf2021-12-31_srt_MinimumMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="AsOf2021-12-31_srt_MaximumMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="From2022-01-012022-12-31_srt_MinimumMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-12-31_srt_MaximumMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="AsOf2022-12-31_srt_MinimumMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="AsOf2022-12-31_srt_MaximumMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-06-30_srt_MinimumMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-06-30</instant>
        </period>
    </context>
    <context id="AsOf2023-06-30_srt_MaximumMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-06-30</instant>
        </period>
    </context>
    <context id="From2023-01-012023-06-30_custom_EmployeeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">FSI:EmployeeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-06-30_custom_EmployeeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">FSI:EmployeeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-06-30_custom_ENPInvestmentsLLCMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">FSI:ENPInvestmentsLLCMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="AsOf2023-06-30_custom_ENPInvestmentsLLCMember418066937">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">FSI:ENPInvestmentsLLCMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-06-30</instant>
        </period>
    </context>
    <context id="From2022-01-012022-06-30_custom_ENPInvestmentsLLCMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">FSI:ENPInvestmentsLLCMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="AsOf2022-12-31_custom_ENPInvestmentsLLCMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">FSI:ENPInvestmentsLLCMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="From2023-01-012023-06-30_custom_MendotaLLCMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">FSI:MendotaLLCMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="AsOf2023-06-30_custom_MendotaLLCMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">FSI:MendotaLLCMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-06-30</instant>
        </period>
    </context>
    <context id="AsOf2021-12-31_custom_ENPInvestmentsLLCMember_custom_OwnershipInterestPurchaseAgreementMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">FSI:ENPInvestmentsLLCMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">FSI:OwnershipInterestPurchaseAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="From2022-01-012022-12-31_custom_ENPInvestmentsLLCMember_custom_OwnershipInterestPurchaseAgreementMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">FSI:ENPInvestmentsLLCMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">FSI:OwnershipInterestPurchaseAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="AsOf2022-12-31_custom_ENPInvestmentsLLCMember_custom_OwnershipInterestPurchaseAgreementMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">FSI:ENPInvestmentsLLCMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">FSI:OwnershipInterestPurchaseAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="From2023-01-012023-06-30_custom_ENPInvestmentsLLCMember_custom_OwnershipInterestPurchaseAgreementMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">FSI:ENPInvestmentsLLCMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">FSI:OwnershipInterestPurchaseAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="AsOf2023-06-30_custom_ENPInvestmentsLLCMember_custom_OwnershipInterestPurchaseAgreementMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">FSI:ENPInvestmentsLLCMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">FSI:OwnershipInterestPurchaseAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-06-30</instant>
        </period>
    </context>
    <context id="AsOf2022-12-31_custom_MendotaLLCMember_custom_OwnershipInterestPurchaseAgreementMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">FSI:MendotaLLCMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">FSI:OwnershipInterestPurchaseAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="From2023-01-012023-06-30_custom_MendotaLLCMember_custom_OwnershipInterestPurchaseAgreementMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">FSI:MendotaLLCMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">FSI:OwnershipInterestPurchaseAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="AsOf2023-06-30_custom_MendotaLLCMember_custom_OwnershipInterestPurchaseAgreementMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">FSI:MendotaLLCMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">FSI:OwnershipInterestPurchaseAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-06-30</instant>
        </period>
    </context>
    <context id="AsOf2023-06-30_us-gaap_AccountsReceivableMember_custom_ThreeCustomersMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">FSI:ThreeCustomersMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-06-30</instant>
        </period>
    </context>
    <context id="From2023-01-012023-06-30_custom_ThreeCustomersMember_us-gaap_AccountsReceivableMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">FSI:ThreeCustomersMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="AsOf2022-06-30_us-gaap_AccountsReceivableMember_custom_ThreeCustomersMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">FSI:ThreeCustomersMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="From2022-01-012022-06-30_custom_ThreeCustomersMember_us-gaap_AccountsReceivableMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">FSI:ThreeCustomersMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="From2023-04-012023-06-30_custom_EWCPMember_custom_SegmentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">FSI:EWCPMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">FSI:SegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-04-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="From2023-04-012023-06-30_custom_TPAMember_custom_SegmentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">FSI:TPAMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">FSI:SegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-04-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="From2023-04-012023-06-30_custom_SegmentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">FSI:SegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-04-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="From2022-04-012022-06-30_custom_EWCPMember_custom_SegmentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">FSI:EWCPMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">FSI:SegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="From2022-04-012022-06-30_custom_TPAMember_custom_SegmentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">FSI:TPAMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">FSI:SegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="From2022-04-012022-06-30_custom_SegmentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">FSI:SegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-06-30_custom_EWCPMember_custom_SegmentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">FSI:EWCPMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">FSI:SegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-06-30_custom_TPAMember_custom_SegmentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">FSI:TPAMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">FSI:SegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-06-30_custom_SegmentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">FSI:SegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-06-30_custom_EWCPMember_custom_SegmentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">FSI:EWCPMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">FSI:SegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-06-30_custom_TPAMember_custom_SegmentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">FSI:TPAMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">FSI:SegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-06-30_custom_SegmentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">FSI:SegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-06-30_country_CA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CA</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-06-30_country_CA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CA</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-06-30_custom_UnitedStatesandAbroadMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">FSI:UnitedStatesandAbroadMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-06-30_custom_UnitedStatesandAbroadMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">FSI:UnitedStatesandAbroadMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="AsOf2023-06-30_country_CA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CA</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-06-30</instant>
        </period>
    </context>
    <context id="AsOf2022-12-31_country_CA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CA</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-06-30_country_US">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-06-30</instant>
        </period>
    </context>
    <context id="AsOf2022-12-31_country_US">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </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="Segments">
        <measure>FSI:Segments</measure>
    </unit>
    <unit id="CAD">
        <measure>iso4217:CAD</measure>
    </unit>
    <unit id="sqft">
        <measure>utr:sqft</measure>
    </unit>
    <dei:EntityCentralIndexKey contextRef="From2023-01-01to2023-06-30">0001069394</dei:EntityCentralIndexKey>
    <dei:AmendmentFlag contextRef="From2023-01-01to2023-06-30">false</dei:AmendmentFlag>
    <dei:DocumentFiscalPeriodFocus contextRef="From2023-01-01to2023-06-30">Q2</dei:DocumentFiscalPeriodFocus>
    <dei:CurrentFiscalYearEndDate contextRef="From2023-01-01to2023-06-30">--12-31</dei:CurrentFiscalYearEndDate>
    <dei:EntityIncorporationStateCountryCode contextRef="From2023-01-01to2023-06-30" id="xdx2ixbrl0022">A0</dei:EntityIncorporationStateCountryCode>
    <us-gaap:LinesOfCreditCurrent
      contextRef="AsOf2023-06-30"
      id="xdx2ixbrl0108"
      unitRef="USD"
      xsi:nil="true"/>
    <FSI:Commissions
      contextRef="From2023-04-012023-06-30"
      id="xdx2ixbrl0246"
      unitRef="USD"
      xsi:nil="true"/>
    <FSI:GainOnAcquisitionOfSubsidiaries
      contextRef="From2023-04-012023-06-30"
      id="xdx2ixbrl0255"
      unitRef="USD"
      xsi:nil="true"/>
    <FSI:GainOnAcquisitionOfSubsidiaries
      contextRef="From2023-01-01to2023-06-30"
      id="xdx2ixbrl0381"
      unitRef="USD"
      xsi:nil="true"/>
    <FSI:GainOnAcquisitionOfSubsidiaries
      contextRef="From2023-01-01to2023-06-30"
      id="xdx2ixbrl0464"
      unitRef="USD"
      xsi:nil="true"/>
    <FSI:ProceedsFromNoncontrollingInterest
      contextRef="From2022-01-012022-06-30"
      id="xdx2ixbrl0495"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired
      contextRef="From2023-01-01to2023-06-30"
      id="xdx2ixbrl0497"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:PaymentsToAcquireInvestments
      contextRef="From2022-01-012022-06-30"
      id="xdx2ixbrl0501"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:ProceedsFromSaleOfEquityMethodInvestments
      contextRef="From2023-01-01to2023-06-30"
      id="xdx2ixbrl0503"
      unitRef="USD"
      xsi:nil="true"/>
    <FSI:DepositsOnPurchasesOfEquipment
      contextRef="From2022-01-012022-06-30"
      id="xdx2ixbrl0507"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:PaymentsOfDividends
      contextRef="From2022-01-012022-06-30"
      id="xdx2ixbrl0528"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:IncomeTaxesPaidNet
      contextRef="From2022-01-012022-06-30"
      id="xdx2ixbrl0570"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="From2023-01-012023-03-31_us-gaap_CommonStockMember"
      id="xdx2ixbrl0588"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="From2023-01-012023-03-31_custom_CapitalInExcessOfParValueMember"
      id="xdx2ixbrl0589"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="From2023-01-012023-03-31_us-gaap_RetainedEarningsMember"
      id="xdx2ixbrl0590"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="From2023-01-012023-03-31_us-gaap_NoncontrollingInterestMember"
      id="xdx2ixbrl0593"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:ProfitLoss
      contextRef="From2023-01-012023-03-31_us-gaap_CommonStockMember"
      id="xdx2ixbrl0596"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:ProfitLoss
      contextRef="From2023-01-012023-03-31_custom_CapitalInExcessOfParValueMember"
      id="xdx2ixbrl0597"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:ProfitLoss
      contextRef="From2023-01-012023-03-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      id="xdx2ixbrl0599"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="From2023-01-012023-03-31_us-gaap_RetainedEarningsMember"
      id="xdx2ixbrl0606"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="From2023-01-012023-03-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      id="xdx2ixbrl0607"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="From2023-01-012023-03-31_us-gaap_NoncontrollingInterestMember"
      id="xdx2ixbrl0609"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="From2023-01-012023-03-31_us-gaap_CommonStockMember"
      id="xdx2ixbrl0614"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="From2023-01-012023-03-31_us-gaap_RetainedEarningsMember"
      id="xdx2ixbrl0616"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="From2023-01-012023-03-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      id="xdx2ixbrl0617"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="From2023-01-012023-03-31_us-gaap_NoncontrollingInterestMember"
      id="xdx2ixbrl0619"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="From2023-04-012023-06-30_us-gaap_CommonStockMember"
      id="xdx2ixbrl0632"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="From2023-04-012023-06-30_custom_CapitalInExcessOfParValueMember"
      id="xdx2ixbrl0633"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="From2023-04-012023-06-30_us-gaap_RetainedEarningsMember"
      id="xdx2ixbrl0634"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="From2023-04-012023-06-30_us-gaap_NoncontrollingInterestMember"
      id="xdx2ixbrl0637"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:ProfitLoss
      contextRef="From2023-04-012023-06-30_us-gaap_CommonStockMember"
      id="xdx2ixbrl0640"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:ProfitLoss
      contextRef="From2023-04-012023-06-30_custom_CapitalInExcessOfParValueMember"
      id="xdx2ixbrl0641"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:ProfitLoss
      contextRef="From2023-04-012023-06-30_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      id="xdx2ixbrl0643"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:Dividends
      contextRef="From2023-04-012023-06-30_us-gaap_CommonStockMember"
      id="xdx2ixbrl0648"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:Dividends
      contextRef="From2023-04-012023-06-30_custom_CapitalInExcessOfParValueMember"
      id="xdx2ixbrl0649"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:Dividends
      contextRef="From2023-04-012023-06-30_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      id="xdx2ixbrl0651"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:Dividends
      contextRef="From2023-04-012023-06-30_us-gaap_NoncontrollingInterestMember"
      id="xdx2ixbrl0653"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:NoncontrollingInterestIncreaseFromBusinessCombination
      contextRef="From2023-04-012023-06-30_us-gaap_CommonStockMember"
      id="xdx2ixbrl0656"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:NoncontrollingInterestIncreaseFromBusinessCombination
      contextRef="From2023-04-012023-06-30_custom_CapitalInExcessOfParValueMember"
      id="xdx2ixbrl0657"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:NoncontrollingInterestIncreaseFromBusinessCombination
      contextRef="From2023-04-012023-06-30_us-gaap_RetainedEarningsMember"
      id="xdx2ixbrl0658"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:NoncontrollingInterestIncreaseFromBusinessCombination
      contextRef="From2023-04-012023-06-30_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      id="xdx2ixbrl0659"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:NoncontrollingInterestIncreaseFromBusinessCombination
      contextRef="From2023-04-012023-06-30_us-gaap_ParentMember"
      id="xdx2ixbrl0660"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders
      contextRef="From2023-04-012023-06-30_us-gaap_CommonStockMember"
      id="xdx2ixbrl0664"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders
      contextRef="From2023-04-012023-06-30_custom_CapitalInExcessOfParValueMember"
      id="xdx2ixbrl0665"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders
      contextRef="From2023-04-012023-06-30_us-gaap_RetainedEarningsMember"
      id="xdx2ixbrl0666"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders
      contextRef="From2023-04-012023-06-30_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      id="xdx2ixbrl0667"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders
      contextRef="From2023-04-012023-06-30_us-gaap_ParentMember"
      id="xdx2ixbrl0668"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="From2023-04-012023-06-30_us-gaap_CommonStockMember"
      id="xdx2ixbrl0672"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="From2023-04-012023-06-30_us-gaap_RetainedEarningsMember"
      id="xdx2ixbrl0674"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="From2023-04-012023-06-30_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      id="xdx2ixbrl0675"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="From2023-04-012023-06-30_us-gaap_NoncontrollingInterestMember"
      id="xdx2ixbrl0677"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="From2022-01-012022-03-31_us-gaap_CommonStockMember"
      id="xdx2ixbrl0700"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="From2022-01-012022-03-31_custom_CapitalInExcessOfParValueMember"
      id="xdx2ixbrl0701"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="From2022-01-012022-03-31_us-gaap_RetainedEarningsMember"
      id="xdx2ixbrl0702"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="From2022-01-012022-03-31_us-gaap_NoncontrollingInterestMember"
      id="xdx2ixbrl0705"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:ProfitLoss
      contextRef="From2022-01-012022-03-31_us-gaap_CommonStockMember"
      id="xdx2ixbrl0708"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:ProfitLoss
      contextRef="From2022-01-012022-03-31_custom_CapitalInExcessOfParValueMember"
      id="xdx2ixbrl0709"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:ProfitLoss
      contextRef="From2022-01-012022-03-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      id="xdx2ixbrl0711"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="From2022-01-012022-03-31_us-gaap_RetainedEarningsMember"
      id="xdx2ixbrl0718"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="From2022-01-012022-03-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      id="xdx2ixbrl0719"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="From2022-01-012022-03-31_us-gaap_NoncontrollingInterestMember"
      id="xdx2ixbrl0721"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders
      contextRef="From2022-01-012022-03-31_us-gaap_CommonStockMember"
      id="xdx2ixbrl0726"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders
      contextRef="From2022-01-012022-03-31_custom_CapitalInExcessOfParValueMember"
      id="xdx2ixbrl0727"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders
      contextRef="From2022-01-012022-03-31_us-gaap_RetainedEarningsMember"
      id="xdx2ixbrl0728"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders
      contextRef="From2022-01-012022-03-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      id="xdx2ixbrl0729"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders
      contextRef="From2022-01-012022-03-31_us-gaap_ParentMember"
      id="xdx2ixbrl0730"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="From2022-01-012022-03-31_us-gaap_CommonStockMember"
      id="xdx2ixbrl0734"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="From2022-01-012022-03-31_us-gaap_RetainedEarningsMember"
      id="xdx2ixbrl0736"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="From2022-01-012022-03-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      id="xdx2ixbrl0737"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="From2022-01-012022-03-31_us-gaap_NoncontrollingInterestMember"
      id="xdx2ixbrl0739"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="From2022-04-012022-06-30_us-gaap_CommonStockMember"
      id="xdx2ixbrl0762"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="From2022-04-012022-06-30_custom_CapitalInExcessOfParValueMember"
      id="xdx2ixbrl0763"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="From2022-04-012022-06-30_us-gaap_RetainedEarningsMember"
      id="xdx2ixbrl0764"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="From2022-04-012022-06-30_us-gaap_NoncontrollingInterestMember"
      id="xdx2ixbrl0767"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:ProfitLoss
      contextRef="From2022-04-012022-06-30_us-gaap_CommonStockMember"
      id="xdx2ixbrl0770"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:ProfitLoss
      contextRef="From2022-04-012022-06-30_custom_CapitalInExcessOfParValueMember"
      id="xdx2ixbrl0771"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:ProfitLoss
      contextRef="From2022-04-012022-06-30_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      id="xdx2ixbrl0773"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="From2022-04-012022-06-30_us-gaap_RetainedEarningsMember"
      id="xdx2ixbrl0780"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="From2022-04-012022-06-30_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      id="xdx2ixbrl0781"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="From2022-04-012022-06-30_us-gaap_NoncontrollingInterestMember"
      id="xdx2ixbrl0783"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders
      contextRef="From2022-04-012022-06-30_us-gaap_CommonStockMember"
      id="xdx2ixbrl0788"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders
      contextRef="From2022-04-012022-06-30_custom_CapitalInExcessOfParValueMember"
      id="xdx2ixbrl0789"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders
      contextRef="From2022-04-012022-06-30_us-gaap_RetainedEarningsMember"
      id="xdx2ixbrl0790"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders
      contextRef="From2022-04-012022-06-30_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      id="xdx2ixbrl0791"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders
      contextRef="From2022-04-012022-06-30_us-gaap_ParentMember"
      id="xdx2ixbrl0792"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="From2022-04-012022-06-30_us-gaap_CommonStockMember"
      id="xdx2ixbrl0796"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="From2022-04-012022-06-30_us-gaap_RetainedEarningsMember"
      id="xdx2ixbrl0798"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="From2022-04-012022-06-30_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      id="xdx2ixbrl0799"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="From2022-04-012022-06-30_us-gaap_NoncontrollingInterestMember"
      id="xdx2ixbrl0801"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="AsOf2023-06-30_us-gaap_LeaseholdImprovementsMember"
      id="xdx2ixbrl1081"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="AsOf2023-06-30_us-gaap_DevelopedTechnologyRightsMember"
      id="xdx2ixbrl1084"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
      contextRef="AsOf2023-06-30_us-gaap_LandMember"
      id="xdx2ixbrl1086"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="AsOf2022-12-31_us-gaap_LeaseholdImprovementsMember"
      id="xdx2ixbrl1117"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="AsOf2022-12-31_us-gaap_DevelopedTechnologyRightsMember"
      id="xdx2ixbrl1120"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
      contextRef="AsOf2022-12-31_us-gaap_LandMember"
      id="xdx2ixbrl1122"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="AsOf2023-06-30"
      id="xdx2ixbrl1143"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="AsOf2022-12-31"
      id="xdx2ixbrl1149"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="From2023-01-012023-06-30_us-gaap_PatentsMember418052750"
      id="xdx2ixbrl1151"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:EquityMethodInvestments
      contextRef="AsOf2022-12-31_custom_EnpPeruInvestmentsLlcMember"
      id="xdx2ixbrl1252"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:ShortTermBorrowings
      contextRef="AsOf2023-06-30_custom_NewAgreementMember_custom_NanoChemSolutionIncMember_custom_StockYardAndBankMember"
      id="xdx2ixbrl1327"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:ShortTermBorrowings
      contextRef="AsOf2023-06-30_custom_NewAgreementMember_custom_NanoChemSolutionIncMember_custom_StockBankMember_us-gaap_RevolvingCreditFacilityMember"
      id="xdx2ixbrl1343"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:InterestExpenseDebt
      contextRef="From2023-01-012023-06-30_custom_TermLoanMember_custom_MidlandBankMember_custom_NanoChemSolutionsIncMember"
      id="xdx2ixbrl1359"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:DebtDefaultLongtermDebtAmount
      contextRef="AsOf2023-06-30_custom_MidlandBankMember_custom_NanoChemSolutionsIncMember"
      id="xdx2ixbrl1370"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:DebtDefaultLongtermDebtAmount
      contextRef="AsOf2022-12-31_custom_MidlandBankMember_custom_NanoChemSolutionsIncMember"
      id="xdx2ixbrl1372"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:InterestExpenseDebt
      contextRef="From2022-01-012022-06-30_custom_NanoChemMember_custom_TermLoanMember_custom_MidlandBankMember"
      id="xdx2ixbrl1387"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:InterestExpense
      contextRef="From2022-01-012022-06-30_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPPeruOneMember"
      id="xdx2ixbrl1402"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:InterestExpenseDebt
      contextRef="From2022-01-012022-06-30_custom_ENPPeruInvestmentsMember_custom_TermLoanMember_custom_MidlandBankMember"
      id="xdx2ixbrl1416"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:InterestExpenseDebt
      contextRef="From2022-01-012022-06-30_custom_NanoChemMember_custom_TermLoanMember"
      id="xdx2ixbrl1428"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:InterestExpenseDebt
      contextRef="From2023-01-012023-06-30_custom_MendotaMember_custom_TermLoanMember"
      id="xdx2ixbrl1436"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:InterestExpenseDebt
      contextRef="From2022-01-012022-06-30_custom_MendotaMember_custom_TermLoanMember"
      id="xdx2ixbrl1438"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:DebtDefaultLongtermDebtAmount
      contextRef="AsOf2022-12-31_custom_TermLoanMember_custom_MendotaMember"
      id="xdx2ixbrl1442"
      unitRef="USD"
      xsi:nil="true"/>
    <FSI:ProceedsFromLoanAcquiredFromAcquisition
      contextRef="From2023-01-01to2023-06-30"
      id="xdx2ixbrl1455"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:LongTermDebt
      contextRef="AsOf2023-06-30_custom_MidlandStatesBankMember"
      id="xdx2ixbrl1466"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:LongTermDebt
      contextRef="AsOf2022-12-31_custom_MidlandStatesBankMember"
      id="xdx2ixbrl1467"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:LongTermDebt
      contextRef="AsOf2023-06-30_custom_MidlandStatesBankOneMember"
      id="xdx2ixbrl1469"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:LongTermDebt
      contextRef="AsOf2022-12-31_custom_MidlandStatesBankOneMember"
      id="xdx2ixbrl1470"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:LongTermDebt
      contextRef="AsOf2022-12-31_custom_StockYardsBankTrustFiveMember"
      id="xdx2ixbrl1488"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="From2023-01-012023-06-30_custom_ConsultantMember"
      id="xdx2ixbrl1597"
      unitRef="Shares"
      xsi:nil="true"/>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAggregateIntrinsicValue
      contextRef="AsOf2023-06-30_us-gaap_CanadaRevenueAgencyMember"
      id="xdx2ixbrl1605"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAggregateIntrinsicValue
      contextRef="AsOf2022-12-31_us-gaap_CanadaRevenueAgencyMember"
      id="xdx2ixbrl1607"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:MinorityInterest
      contextRef="AsOf2022-12-31_custom_MendotaLLCMember_custom_OwnershipInterestPurchaseAgreementMember"
      id="xdx2ixbrl1661"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:InterestExpense
      contextRef="From2023-04-012023-06-30_custom_EWCPMember_custom_SegmentMember"
      id="xdx2ixbrl1677"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="From2023-04-012023-06-30_custom_EWCPMember_custom_SegmentMember"
      id="xdx2ixbrl1697"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:InterestExpense
      contextRef="From2022-04-012022-06-30_custom_EWCPMember_custom_SegmentMember"
      id="xdx2ixbrl1705"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="From2022-04-012022-06-30_custom_EWCPMember_custom_SegmentMember"
      id="xdx2ixbrl1725"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:InterestExpense
      contextRef="From2023-01-012023-06-30_custom_EWCPMember_custom_SegmentMember"
      id="xdx2ixbrl1733"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="From2023-01-012023-06-30_custom_EWCPMember_custom_SegmentMember"
      id="xdx2ixbrl1753"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:InterestExpense
      contextRef="From2022-01-012022-06-30_custom_EWCPMember_custom_SegmentMember"
      id="xdx2ixbrl1761"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="From2022-01-012022-06-30_custom_EWCPMember_custom_SegmentMember"
      id="xdx2ixbrl1781"
      unitRef="USD"
      xsi:nil="true"/>
    <dei:DocumentType contextRef="From2023-01-01to2023-06-30">10-Q</dei:DocumentType>
    <dei:DocumentQuarterlyReport contextRef="From2023-01-01to2023-06-30">true</dei:DocumentQuarterlyReport>
    <dei:DocumentPeriodEndDate contextRef="From2023-01-01to2023-06-30">2023-06-30</dei:DocumentPeriodEndDate>
    <dei:DocumentFiscalYearFocus contextRef="From2023-01-01to2023-06-30">2023</dei:DocumentFiscalYearFocus>
    <dei:DocumentTransitionReport contextRef="From2023-01-01to2023-06-30">false</dei:DocumentTransitionReport>
    <dei:EntityFileNumber contextRef="From2023-01-01to2023-06-30">001-31540</dei:EntityFileNumber>
    <dei:EntityRegistrantName contextRef="From2023-01-01to2023-06-30">FLEXIBLE SOLUTIONS INTERNATIONAL INC.</dei:EntityRegistrantName>
    <dei:EntityTaxIdentificationNumber contextRef="From2023-01-01to2023-06-30">71-1630889</dei:EntityTaxIdentificationNumber>
    <dei:EntityAddressAddressLine1 contextRef="From2023-01-01to2023-06-30">6001     54 Ave.</dei:EntityAddressAddressLine1>
    <dei:EntityAddressCityOrTown contextRef="From2023-01-01to2023-06-30">Taber</dei:EntityAddressCityOrTown>
    <dei:EntityAddressStateOrProvince contextRef="From2023-01-01to2023-06-30">AB</dei:EntityAddressStateOrProvince>
    <dei:EntityAddressCountry contextRef="From2023-01-01to2023-06-30">CA</dei:EntityAddressCountry>
    <dei:EntityAddressPostalZipCode contextRef="From2023-01-01to2023-06-30">T1G     1X4</dei:EntityAddressPostalZipCode>
    <dei:CityAreaCode contextRef="From2023-01-01to2023-06-30">(403)</dei:CityAreaCode>
    <dei:LocalPhoneNumber contextRef="From2023-01-01to2023-06-30">223-2995</dei:LocalPhoneNumber>
    <dei:Security12bTitle contextRef="From2023-01-01to2023-06-30">Common     Stock</dei:Security12bTitle>
    <dei:TradingSymbol contextRef="From2023-01-01to2023-06-30">FSI</dei:TradingSymbol>
    <dei:SecurityExchangeName contextRef="From2023-01-01to2023-06-30">NYSE</dei:SecurityExchangeName>
    <dei:EntityCurrentReportingStatus contextRef="From2023-01-01to2023-06-30">Yes</dei:EntityCurrentReportingStatus>
    <dei:EntityInteractiveDataCurrent contextRef="From2023-01-01to2023-06-30">Yes</dei:EntityInteractiveDataCurrent>
    <dei:EntityFilerCategory contextRef="From2023-01-01to2023-06-30">Non-accelerated Filer</dei:EntityFilerCategory>
    <dei:EntitySmallBusiness contextRef="From2023-01-01to2023-06-30">true</dei:EntitySmallBusiness>
    <dei:EntityEmergingGrowthCompany contextRef="From2023-01-01to2023-06-30">false</dei:EntityEmergingGrowthCompany>
    <dei:EntityShellCompany contextRef="From2023-01-01to2023-06-30">false</dei:EntityShellCompany>
    <dei:EntityCommonStockSharesOutstanding contextRef="AsOf2023-08-14" decimals="INF" unitRef="Shares">12435532</dei:EntityCommonStockSharesOutstanding>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue contextRef="AsOf2023-06-30" decimals="0" unitRef="USD">7413753</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue contextRef="AsOf2022-12-31" decimals="0" unitRef="USD">6115099</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:DepositsAssetsCurrent contextRef="AsOf2023-06-30" decimals="0" unitRef="USD">1010241</us-gaap:DepositsAssetsCurrent>
    <us-gaap:DepositsAssetsCurrent contextRef="AsOf2022-12-31" decimals="0" unitRef="USD">700000</us-gaap:DepositsAssetsCurrent>
    <us-gaap:AccountsReceivableNetCurrent contextRef="AsOf2023-06-30" decimals="0" unitRef="USD">7435050</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AccountsReceivableNetCurrent contextRef="AsOf2022-12-31" decimals="0" unitRef="USD">9449857</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:InventoryNet contextRef="AsOf2023-06-30" decimals="0" unitRef="USD">11316229</us-gaap:InventoryNet>
    <us-gaap:InventoryNet contextRef="AsOf2022-12-31" decimals="0" unitRef="USD">14419430</us-gaap:InventoryNet>
    <us-gaap:PrepaidExpenseCurrent contextRef="AsOf2023-06-30" decimals="0" unitRef="USD">868880</us-gaap:PrepaidExpenseCurrent>
    <us-gaap:PrepaidExpenseCurrent contextRef="AsOf2022-12-31" decimals="0" unitRef="USD">310297</us-gaap:PrepaidExpenseCurrent>
    <us-gaap:AssetsCurrent contextRef="AsOf2023-06-30" decimals="0" unitRef="USD">28044153</us-gaap:AssetsCurrent>
    <us-gaap:AssetsCurrent contextRef="AsOf2022-12-31" decimals="0" unitRef="USD">30994683</us-gaap:AssetsCurrent>
    <us-gaap:PropertyPlantAndEquipmentNet contextRef="AsOf2023-06-30" decimals="0" unitRef="USD">12821907</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet contextRef="AsOf2022-12-31" decimals="0" unitRef="USD">9709288</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:OperatingLeaseRightOfUseAsset contextRef="AsOf2023-06-30" decimals="0" unitRef="USD">141535</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseRightOfUseAsset contextRef="AsOf2022-12-31" decimals="0" unitRef="USD">167222</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:IntangibleAssetsNetExcludingGoodwill contextRef="AsOf2023-06-30" decimals="0" unitRef="USD">2360000</us-gaap:IntangibleAssetsNetExcludingGoodwill>
    <us-gaap:IntangibleAssetsNetExcludingGoodwill contextRef="AsOf2022-12-31" decimals="0" unitRef="USD">2440000</us-gaap:IntangibleAssetsNetExcludingGoodwill>
    <us-gaap:DepositsAssetsNoncurrent contextRef="AsOf2023-06-30" decimals="0" unitRef="USD">370156</us-gaap:DepositsAssetsNoncurrent>
    <us-gaap:DepositsAssetsNoncurrent contextRef="AsOf2022-12-31" decimals="0" unitRef="USD">8540</us-gaap:DepositsAssetsNoncurrent>
    <us-gaap:EquityMethodInvestments contextRef="AsOf2023-06-30" decimals="0" unitRef="USD">6255598</us-gaap:EquityMethodInvestments>
    <us-gaap:EquityMethodInvestments contextRef="AsOf2022-12-31" decimals="0" unitRef="USD">5458895</us-gaap:EquityMethodInvestments>
    <us-gaap:Goodwill contextRef="AsOf2023-06-30" decimals="0" unitRef="USD">2534275</us-gaap:Goodwill>
    <us-gaap:Goodwill contextRef="AsOf2022-12-31" decimals="0" unitRef="USD">2534275</us-gaap:Goodwill>
    <us-gaap:DeferredIncomeTaxAssetsNet contextRef="AsOf2023-06-30" decimals="0" unitRef="USD">274289</us-gaap:DeferredIncomeTaxAssetsNet>
    <us-gaap:DeferredIncomeTaxAssetsNet contextRef="AsOf2022-12-31" decimals="0" unitRef="USD">274289</us-gaap:DeferredIncomeTaxAssetsNet>
    <us-gaap:Assets contextRef="AsOf2023-06-30" decimals="0" unitRef="USD">52801913</us-gaap:Assets>
    <us-gaap:Assets contextRef="AsOf2022-12-31" decimals="0" unitRef="USD">51587192</us-gaap:Assets>
    <us-gaap:AccountsPayableCurrent contextRef="AsOf2023-06-30" decimals="0" unitRef="USD">1633623</us-gaap:AccountsPayableCurrent>
    <us-gaap:AccountsPayableCurrent contextRef="AsOf2022-12-31" decimals="0" unitRef="USD">873904</us-gaap:AccountsPayableCurrent>
    <us-gaap:AccruedLiabilitiesCurrent contextRef="AsOf2023-06-30" decimals="0" unitRef="USD">734609</us-gaap:AccruedLiabilitiesCurrent>
    <us-gaap:AccruedLiabilitiesCurrent contextRef="AsOf2022-12-31" decimals="0" unitRef="USD">959856</us-gaap:AccruedLiabilitiesCurrent>
    <us-gaap:DeferredRevenueCurrent contextRef="AsOf2023-06-30" decimals="0" unitRef="USD">35406</us-gaap:DeferredRevenueCurrent>
    <us-gaap:DeferredRevenueCurrent contextRef="AsOf2022-12-31" decimals="0" unitRef="USD">387763</us-gaap:DeferredRevenueCurrent>
    <us-gaap:TaxesPayableCurrent contextRef="AsOf2023-06-30" decimals="0" unitRef="USD">4891927</us-gaap:TaxesPayableCurrent>
    <us-gaap:TaxesPayableCurrent contextRef="AsOf2022-12-31" decimals="0" unitRef="USD">4486350</us-gaap:TaxesPayableCurrent>
    <us-gaap:LinesOfCreditCurrent contextRef="AsOf2022-12-31" decimals="0" unitRef="USD">2818591</us-gaap:LinesOfCreditCurrent>
    <us-gaap:OperatingLeaseLiabilityCurrent contextRef="AsOf2023-06-30" decimals="0" unitRef="USD">58800</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:OperatingLeaseLiabilityCurrent contextRef="AsOf2022-12-31" decimals="0" unitRef="USD">58080</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:LongTermDebtCurrent contextRef="AsOf2023-06-30" decimals="0" unitRef="USD">738916</us-gaap:LongTermDebtCurrent>
    <us-gaap:LongTermDebtCurrent contextRef="AsOf2022-12-31" decimals="0" unitRef="USD">717612</us-gaap:LongTermDebtCurrent>
    <us-gaap:LiabilitiesCurrent contextRef="AsOf2023-06-30" decimals="0" unitRef="USD">8093281</us-gaap:LiabilitiesCurrent>
    <us-gaap:LiabilitiesCurrent contextRef="AsOf2022-12-31" decimals="0" unitRef="USD">10302156</us-gaap:LiabilitiesCurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent contextRef="AsOf2023-06-30" decimals="0" unitRef="USD">82735</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent contextRef="AsOf2022-12-31" decimals="0" unitRef="USD">109142</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:DeferredIncomeTaxLiabilitiesNet contextRef="AsOf2023-06-30" decimals="0" unitRef="USD">500459</us-gaap:DeferredIncomeTaxLiabilitiesNet>
    <us-gaap:DeferredIncomeTaxLiabilitiesNet contextRef="AsOf2022-12-31" decimals="0" unitRef="USD">500459</us-gaap:DeferredIncomeTaxLiabilitiesNet>
    <us-gaap:LongTermDebtNoncurrent contextRef="AsOf2023-06-30" decimals="0" unitRef="USD">7302188</us-gaap:LongTermDebtNoncurrent>
    <us-gaap:LongTermDebtNoncurrent contextRef="AsOf2022-12-31" decimals="0" unitRef="USD">5436465</us-gaap:LongTermDebtNoncurrent>
    <us-gaap:Liabilities contextRef="AsOf2023-06-30" decimals="0" unitRef="USD">15978663</us-gaap:Liabilities>
    <us-gaap:Liabilities contextRef="AsOf2022-12-31" decimals="0" unitRef="USD">16348222</us-gaap:Liabilities>
    <us-gaap:CommonStockSharesAuthorized contextRef="AsOf2023-06-30" decimals="INF" unitRef="Shares">50000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesAuthorized contextRef="AsOf2022-12-31" decimals="INF" unitRef="Shares">50000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="AsOf2023-06-30"
      decimals="INF"
      unitRef="USDPShares">0.001</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="AsOf2022-12-31"
      decimals="INF"
      unitRef="USDPShares">0.001</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:PreferredStockSharesAuthorized contextRef="AsOf2023-06-30" decimals="INF" unitRef="Shares">1000000</us-gaap:PreferredStockSharesAuthorized>
    <us-gaap:PreferredStockSharesAuthorized contextRef="AsOf2022-12-31" decimals="INF" unitRef="Shares">1000000</us-gaap:PreferredStockSharesAuthorized>
    <us-gaap:PreferredStockParOrStatedValuePerShare
      contextRef="AsOf2023-06-30"
      decimals="INF"
      unitRef="USDPShares">0.01</us-gaap:PreferredStockParOrStatedValuePerShare>
    <us-gaap:PreferredStockParOrStatedValuePerShare
      contextRef="AsOf2022-12-31"
      decimals="INF"
      unitRef="USDPShares">0.01</us-gaap:PreferredStockParOrStatedValuePerShare>
    <us-gaap:CommonStockSharesIssued contextRef="AsOf2023-06-30" decimals="INF" unitRef="Shares">12435532</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesOutstanding contextRef="AsOf2023-06-30" decimals="INF" unitRef="Shares">12435532</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockSharesIssued contextRef="AsOf2022-12-31" decimals="INF" unitRef="Shares">12426260</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesOutstanding contextRef="AsOf2022-12-31" decimals="INF" unitRef="Shares">12426260</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockValue contextRef="AsOf2023-06-30" decimals="0" unitRef="USD">12436</us-gaap:CommonStockValue>
    <us-gaap:CommonStockValue contextRef="AsOf2022-12-31" decimals="0" unitRef="USD">12426</us-gaap:CommonStockValue>
    <us-gaap:CommonStockValue contextRef="AsOf2023-06-30" decimals="0" unitRef="USD">12436</us-gaap:CommonStockValue>
    <us-gaap:CommonStockValue contextRef="AsOf2022-12-31" decimals="0" unitRef="USD">12426</us-gaap:CommonStockValue>
    <us-gaap:AdditionalPaidInCapital contextRef="AsOf2023-06-30" decimals="0" unitRef="USD">17903461</us-gaap:AdditionalPaidInCapital>
    <us-gaap:AdditionalPaidInCapital contextRef="AsOf2022-12-31" decimals="0" unitRef="USD">17523345</us-gaap:AdditionalPaidInCapital>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax contextRef="AsOf2023-06-30" decimals="0" unitRef="USD">-746393</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax contextRef="AsOf2022-12-31" decimals="0" unitRef="USD">-805799</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:RetainedEarningsAccumulatedDeficit contextRef="AsOf2023-06-30" decimals="0" unitRef="USD">16971421</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:RetainedEarningsAccumulatedDeficit contextRef="AsOf2022-12-31" decimals="0" unitRef="USD">15903964</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:StockholdersEquity contextRef="AsOf2023-06-30" decimals="0" unitRef="USD">34140925</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="AsOf2022-12-31" decimals="0" unitRef="USD">32633936</us-gaap:StockholdersEquity>
    <us-gaap:MinorityInterest contextRef="AsOf2023-06-30" decimals="0" unitRef="USD">2682325</us-gaap:MinorityInterest>
    <us-gaap:MinorityInterest contextRef="AsOf2022-12-31" decimals="0" unitRef="USD">2605034</us-gaap:MinorityInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest contextRef="AsOf2023-06-30" decimals="0" unitRef="USD">36823250</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest contextRef="AsOf2022-12-31" decimals="0" unitRef="USD">35238970</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:LiabilitiesAndStockholdersEquity contextRef="AsOf2023-06-30" decimals="0" unitRef="USD">52801913</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity contextRef="AsOf2022-12-31" decimals="0" unitRef="USD">51587192</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2023-04-012023-06-30"
      decimals="0"
      unitRef="USD">10331291</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2022-04-012022-06-30"
      decimals="0"
      unitRef="USD">11165143</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="From2023-04-012023-06-30"
      decimals="0"
      unitRef="USD">7292438</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="From2022-04-012022-06-30"
      decimals="0"
      unitRef="USD">7303537</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:GrossProfit
      contextRef="From2023-04-012023-06-30"
      decimals="0"
      unitRef="USD">3038853</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="From2022-04-012022-06-30"
      decimals="0"
      unitRef="USD">3861606</us-gaap:GrossProfit>
    <us-gaap:SalariesAndWages
      contextRef="From2023-04-012023-06-30"
      decimals="0"
      unitRef="USD">787621</us-gaap:SalariesAndWages>
    <us-gaap:SalariesAndWages
      contextRef="From2022-04-012022-06-30"
      decimals="0"
      unitRef="USD">679289</us-gaap:SalariesAndWages>
    <us-gaap:OfficersCompensation
      contextRef="From2023-04-012023-06-30"
      decimals="0"
      unitRef="USD">394305</us-gaap:OfficersCompensation>
    <us-gaap:OfficersCompensation
      contextRef="From2022-04-012022-06-30"
      decimals="0"
      unitRef="USD">227026</us-gaap:OfficersCompensation>
    <us-gaap:GeneralInsuranceExpense
      contextRef="From2023-04-012023-06-30"
      decimals="0"
      unitRef="USD">228445</us-gaap:GeneralInsuranceExpense>
    <us-gaap:GeneralInsuranceExpense
      contextRef="From2022-04-012022-06-30"
      decimals="0"
      unitRef="USD">137325</us-gaap:GeneralInsuranceExpense>
    <us-gaap:InterestExpense
      contextRef="From2023-04-012023-06-30"
      decimals="0"
      unitRef="USD">115498</us-gaap:InterestExpense>
    <us-gaap:InterestExpense
      contextRef="From2022-04-012022-06-30"
      decimals="0"
      unitRef="USD">52139</us-gaap:InterestExpense>
    <us-gaap:ProfessionalFees
      contextRef="From2023-04-012023-06-30"
      decimals="0"
      unitRef="USD">79532</us-gaap:ProfessionalFees>
    <us-gaap:ProfessionalFees
      contextRef="From2022-04-012022-06-30"
      decimals="0"
      unitRef="USD">415322</us-gaap:ProfessionalFees>
    <us-gaap:OtherGeneralExpense
      contextRef="From2023-04-012023-06-30"
      decimals="0"
      unitRef="USD">74944</us-gaap:OtherGeneralExpense>
    <us-gaap:OtherGeneralExpense
      contextRef="From2022-04-012022-06-30"
      decimals="0"
      unitRef="USD">123342</us-gaap:OtherGeneralExpense>
    <FSI:Consulting
      contextRef="From2023-04-012023-06-30"
      decimals="0"
      unitRef="USD">69253</FSI:Consulting>
    <FSI:Consulting
      contextRef="From2022-04-012022-06-30"
      decimals="0"
      unitRef="USD">86417</FSI:Consulting>
    <us-gaap:TravelAndEntertainmentExpense
      contextRef="From2023-04-012023-06-30"
      decimals="0"
      unitRef="USD">64612</us-gaap:TravelAndEntertainmentExpense>
    <us-gaap:TravelAndEntertainmentExpense
      contextRef="From2022-04-012022-06-30"
      decimals="0"
      unitRef="USD">47718</us-gaap:TravelAndEntertainmentExpense>
    <us-gaap:SellingAndMarketingExpense
      contextRef="From2023-04-012023-06-30"
      decimals="0"
      unitRef="USD">62011</us-gaap:SellingAndMarketingExpense>
    <us-gaap:SellingAndMarketingExpense
      contextRef="From2022-04-012022-06-30"
      decimals="0"
      unitRef="USD">52176</us-gaap:SellingAndMarketingExpense>
    <FSI:InvestorRelationsAndTransferAgentFee
      contextRef="From2023-04-012023-06-30"
      decimals="0"
      unitRef="USD">32993</FSI:InvestorRelationsAndTransferAgentFee>
    <FSI:InvestorRelationsAndTransferAgentFee
      contextRef="From2022-04-012022-06-30"
      decimals="0"
      unitRef="USD">28780</FSI:InvestorRelationsAndTransferAgentFee>
    <us-gaap:OperatingLeaseExpense
      contextRef="From2023-04-012023-06-30"
      decimals="0"
      unitRef="USD">27645</us-gaap:OperatingLeaseExpense>
    <us-gaap:OperatingLeaseExpense
      contextRef="From2022-04-012022-06-30"
      decimals="0"
      unitRef="USD">51614</us-gaap:OperatingLeaseExpense>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="From2023-04-012023-06-30"
      decimals="0"
      unitRef="USD">15833</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="From2022-04-012022-06-30"
      decimals="0"
      unitRef="USD">26561</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:ForeignCurrencyTransactionGainLossBeforeTax
      contextRef="From2023-04-012023-06-30"
      decimals="0"
      unitRef="USD">-13925</us-gaap:ForeignCurrencyTransactionGainLossBeforeTax>
    <us-gaap:ForeignCurrencyTransactionGainLossBeforeTax
      contextRef="From2022-04-012022-06-30"
      decimals="0"
      unitRef="USD">-99</us-gaap:ForeignCurrencyTransactionGainLossBeforeTax>
    <us-gaap:CommunicationsAndInformationTechnology
      contextRef="From2023-04-012023-06-30"
      decimals="0"
      unitRef="USD">10432</us-gaap:CommunicationsAndInformationTechnology>
    <us-gaap:CommunicationsAndInformationTechnology
      contextRef="From2022-04-012022-06-30"
      decimals="0"
      unitRef="USD">11103</us-gaap:CommunicationsAndInformationTechnology>
    <us-gaap:UtilitiesOperatingExpense
      contextRef="From2023-04-012023-06-30"
      decimals="0"
      unitRef="USD">5487</us-gaap:UtilitiesOperatingExpense>
    <us-gaap:UtilitiesOperatingExpense
      contextRef="From2022-04-012022-06-30"
      decimals="0"
      unitRef="USD">7566</us-gaap:UtilitiesOperatingExpense>
    <FSI:ShippingCost
      contextRef="From2023-04-012023-06-30"
      decimals="0"
      unitRef="USD">5100</FSI:ShippingCost>
    <FSI:ShippingCost
      contextRef="From2022-04-012022-06-30"
      decimals="0"
      unitRef="USD">8907</FSI:ShippingCost>
    <FSI:Commissions
      contextRef="From2022-04-012022-06-30"
      decimals="0"
      unitRef="USD">57506</FSI:Commissions>
    <us-gaap:OperatingExpenses
      contextRef="From2023-04-012023-06-30"
      decimals="0"
      unitRef="USD">1987636</us-gaap:OperatingExpenses>
    <us-gaap:OperatingExpenses
      contextRef="From2022-04-012022-06-30"
      decimals="0"
      unitRef="USD">2012890</us-gaap:OperatingExpenses>
    <us-gaap:OperatingIncomeLoss
      contextRef="From2023-04-012023-06-30"
      decimals="0"
      unitRef="USD">1051217</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="From2022-04-012022-06-30"
      decimals="0"
      unitRef="USD">1848716</us-gaap:OperatingIncomeLoss>
    <FSI:GainOnAcquisitionOfSubsidiaries
      contextRef="From2022-04-012022-06-30"
      decimals="0"
      unitRef="USD">335051</FSI:GainOnAcquisitionOfSubsidiaries>
    <us-gaap:GainLossOnInvestments
      contextRef="From2023-04-012023-06-30"
      decimals="0"
      unitRef="USD">256708</us-gaap:GainLossOnInvestments>
    <us-gaap:GainLossOnInvestments
      contextRef="From2022-04-012022-06-30"
      decimals="0"
      unitRef="USD">177552</us-gaap:GainLossOnInvestments>
    <us-gaap:InterestIncomeOther
      contextRef="From2023-04-012023-06-30"
      decimals="0"
      unitRef="USD">41174</us-gaap:InterestIncomeOther>
    <us-gaap:InterestIncomeOther
      contextRef="From2022-04-012022-06-30"
      decimals="0"
      unitRef="USD">10053</us-gaap:InterestIncomeOther>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="From2023-04-012023-06-30"
      decimals="0"
      unitRef="USD">1349099</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="From2022-04-012022-06-30"
      decimals="0"
      unitRef="USD">2371372</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="From2023-04-012023-06-30"
      decimals="0"
      unitRef="USD">354372</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="From2022-04-012022-06-30"
      decimals="0"
      unitRef="USD">542802</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:ProfitLoss
      contextRef="From2023-04-012023-06-30"
      decimals="0"
      unitRef="USD">994727</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="From2022-04-012022-06-30"
      decimals="0"
      unitRef="USD">1828570</us-gaap:ProfitLoss>
    <us-gaap:NetIncomeLossAttributableToNoncontrollingInterest
      contextRef="From2023-04-012023-06-30"
      decimals="0"
      unitRef="USD">184862</us-gaap:NetIncomeLossAttributableToNoncontrollingInterest>
    <us-gaap:NetIncomeLossAttributableToNoncontrollingInterest
      contextRef="From2022-04-012022-06-30"
      decimals="0"
      unitRef="USD">166115</us-gaap:NetIncomeLossAttributableToNoncontrollingInterest>
    <us-gaap:NetIncomeLoss
      contextRef="From2023-04-012023-06-30"
      decimals="0"
      unitRef="USD">809865</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="From2022-04-012022-06-30"
      decimals="0"
      unitRef="USD">1662455</us-gaap:NetIncomeLoss>
    <us-gaap:EarningsPerShareBasic
      contextRef="From2023-04-012023-06-30"
      decimals="INF"
      unitRef="USDPShares">0.07</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="From2022-04-012022-06-30"
      decimals="INF"
      unitRef="USDPShares">0.13</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareDiluted
      contextRef="From2023-04-012023-06-30"
      decimals="INF"
      unitRef="USDPShares">0.06</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="From2022-04-012022-06-30"
      decimals="INF"
      unitRef="USDPShares">0.13</us-gaap:EarningsPerShareDiluted>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="From2023-04-012023-06-30"
      decimals="INF"
      unitRef="Shares">12435532</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="From2022-04-012022-06-30"
      decimals="INF"
      unitRef="Shares">12384131</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="From2023-04-012023-06-30"
      decimals="INF"
      unitRef="Shares">12519930</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="From2022-04-012022-06-30"
      decimals="INF"
      unitRef="Shares">12478751</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:ProfitLoss
      contextRef="From2023-04-012023-06-30"
      decimals="0"
      unitRef="USD">994727</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="From2022-04-012022-06-30"
      decimals="0"
      unitRef="USD">1828570</us-gaap:ProfitLoss>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="From2023-04-012023-06-30"
      decimals="0"
      unitRef="USD">226645</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="From2022-04-012022-06-30"
      decimals="0"
      unitRef="USD">-1907</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest
      contextRef="From2023-04-012023-06-30"
      decimals="0"
      unitRef="USD">1221372</us-gaap:ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest
      contextRef="From2022-04-012022-06-30"
      decimals="0"
      unitRef="USD">1826663</us-gaap:ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest
      contextRef="From2023-04-012023-06-30"
      decimals="0"
      unitRef="USD">184862</us-gaap:ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest>
    <us-gaap:ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest
      contextRef="From2022-04-012022-06-30"
      decimals="0"
      unitRef="USD">166115</us-gaap:ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="From2023-04-012023-06-30"
      decimals="0"
      unitRef="USD">1036510</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="From2022-04-012022-06-30"
      decimals="0"
      unitRef="USD">1660548</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2023-01-01to2023-06-30"
      decimals="0"
      unitRef="USD">20178808</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2022-01-012022-06-30"
      decimals="0"
      unitRef="USD">21948423</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="From2023-01-01to2023-06-30"
      decimals="0"
      unitRef="USD">14054963</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="From2022-01-012022-06-30"
      decimals="0"
      unitRef="USD">14274916</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:GrossProfit
      contextRef="From2023-01-01to2023-06-30"
      decimals="0"
      unitRef="USD">6123845</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="From2022-01-012022-06-30"
      decimals="0"
      unitRef="USD">7673507</us-gaap:GrossProfit>
    <us-gaap:SalariesAndWages
      contextRef="From2023-01-01to2023-06-30"
      decimals="0"
      unitRef="USD">1459313</us-gaap:SalariesAndWages>
    <us-gaap:SalariesAndWages
      contextRef="From2022-01-012022-06-30"
      decimals="0"
      unitRef="USD">1302792</us-gaap:SalariesAndWages>
    <us-gaap:OfficersCompensation
      contextRef="From2023-01-01to2023-06-30"
      decimals="0"
      unitRef="USD">787319</us-gaap:OfficersCompensation>
    <us-gaap:OfficersCompensation
      contextRef="From2022-01-012022-06-30"
      decimals="0"
      unitRef="USD">460611</us-gaap:OfficersCompensation>
    <us-gaap:GeneralInsuranceExpense
      contextRef="From2023-01-01to2023-06-30"
      decimals="0"
      unitRef="USD">429975</us-gaap:GeneralInsuranceExpense>
    <us-gaap:GeneralInsuranceExpense
      contextRef="From2022-01-012022-06-30"
      decimals="0"
      unitRef="USD">322685</us-gaap:GeneralInsuranceExpense>
    <us-gaap:InterestExpense
      contextRef="From2023-01-01to2023-06-30"
      decimals="0"
      unitRef="USD">250368</us-gaap:InterestExpense>
    <us-gaap:InterestExpense
      contextRef="From2022-01-012022-06-30"
      decimals="0"
      unitRef="USD">109757</us-gaap:InterestExpense>
    <us-gaap:OtherGeneralExpense
      contextRef="From2023-01-01to2023-06-30"
      decimals="0"
      unitRef="USD">173790</us-gaap:OtherGeneralExpense>
    <us-gaap:OtherGeneralExpense
      contextRef="From2022-01-012022-06-30"
      decimals="0"
      unitRef="USD">159312</us-gaap:OtherGeneralExpense>
    <us-gaap:ProfessionalFees
      contextRef="From2023-01-01to2023-06-30"
      decimals="0"
      unitRef="USD">142299</us-gaap:ProfessionalFees>
    <us-gaap:ProfessionalFees
      contextRef="From2022-01-012022-06-30"
      decimals="0"
      unitRef="USD">465903</us-gaap:ProfessionalFees>
    <FSI:Consulting
      contextRef="From2023-01-01to2023-06-30"
      decimals="0"
      unitRef="USD">132230</FSI:Consulting>
    <FSI:Consulting
      contextRef="From2022-01-012022-06-30"
      decimals="0"
      unitRef="USD">162691</FSI:Consulting>
    <us-gaap:TravelAndEntertainmentExpense
      contextRef="From2023-01-01to2023-06-30"
      decimals="0"
      unitRef="USD">126264</us-gaap:TravelAndEntertainmentExpense>
    <us-gaap:TravelAndEntertainmentExpense
      contextRef="From2022-01-012022-06-30"
      decimals="0"
      unitRef="USD">92526</us-gaap:TravelAndEntertainmentExpense>
    <FSI:InvestorRelationsAndTransferAgentFee
      contextRef="From2023-01-01to2023-06-30"
      decimals="0"
      unitRef="USD">122885</FSI:InvestorRelationsAndTransferAgentFee>
    <FSI:InvestorRelationsAndTransferAgentFee
      contextRef="From2022-01-012022-06-30"
      decimals="0"
      unitRef="USD">65877</FSI:InvestorRelationsAndTransferAgentFee>
    <us-gaap:SellingAndMarketingExpense
      contextRef="From2023-01-01to2023-06-30"
      decimals="0"
      unitRef="USD">110409</us-gaap:SellingAndMarketingExpense>
    <us-gaap:SellingAndMarketingExpense
      contextRef="From2022-01-012022-06-30"
      decimals="0"
      unitRef="USD">92205</us-gaap:SellingAndMarketingExpense>
    <us-gaap:OperatingLeaseExpense
      contextRef="From2023-01-01to2023-06-30"
      decimals="0"
      unitRef="USD">52940</us-gaap:OperatingLeaseExpense>
    <us-gaap:OperatingLeaseExpense
      contextRef="From2022-01-012022-06-30"
      decimals="0"
      unitRef="USD">93839</us-gaap:OperatingLeaseExpense>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="From2023-01-01to2023-06-30"
      decimals="0"
      unitRef="USD">37335</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="From2022-01-012022-06-30"
      decimals="0"
      unitRef="USD">44257</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:CommunicationsAndInformationTechnology
      contextRef="From2023-01-01to2023-06-30"
      decimals="0"
      unitRef="USD">23010</us-gaap:CommunicationsAndInformationTechnology>
    <us-gaap:CommunicationsAndInformationTechnology
      contextRef="From2022-01-012022-06-30"
      decimals="0"
      unitRef="USD">20559</us-gaap:CommunicationsAndInformationTechnology>
    <us-gaap:ForeignCurrencyTransactionGainLossBeforeTax
      contextRef="From2023-01-01to2023-06-30"
      decimals="0"
      unitRef="USD">-16501</us-gaap:ForeignCurrencyTransactionGainLossBeforeTax>
    <us-gaap:ForeignCurrencyTransactionGainLossBeforeTax
      contextRef="From2022-01-012022-06-30"
      decimals="0"
      unitRef="USD">-11632</us-gaap:ForeignCurrencyTransactionGainLossBeforeTax>
    <us-gaap:UtilitiesOperatingExpense
      contextRef="From2023-01-01to2023-06-30"
      decimals="0"
      unitRef="USD">12974</us-gaap:UtilitiesOperatingExpense>
    <us-gaap:UtilitiesOperatingExpense
      contextRef="From2022-01-012022-06-30"
      decimals="0"
      unitRef="USD">15184</us-gaap:UtilitiesOperatingExpense>
    <FSI:ShippingCost
      contextRef="From2023-01-01to2023-06-30"
      decimals="0"
      unitRef="USD">9766</FSI:ShippingCost>
    <FSI:ShippingCost
      contextRef="From2022-01-012022-06-30"
      decimals="0"
      unitRef="USD">12901</FSI:ShippingCost>
    <FSI:Commissions
      contextRef="From2023-01-01to2023-06-30"
      decimals="0"
      unitRef="USD">2985</FSI:Commissions>
    <FSI:Commissions
      contextRef="From2022-01-012022-06-30"
      decimals="0"
      unitRef="USD">60930</FSI:Commissions>
    <us-gaap:OperatingExpenses
      contextRef="From2023-01-01to2023-06-30"
      decimals="0"
      unitRef="USD">3890363</us-gaap:OperatingExpenses>
    <us-gaap:OperatingExpenses
      contextRef="From2022-01-012022-06-30"
      decimals="0"
      unitRef="USD">3493661</us-gaap:OperatingExpenses>
    <us-gaap:OperatingIncomeLoss
      contextRef="From2023-01-01to2023-06-30"
      decimals="0"
      unitRef="USD">2233482</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="From2022-01-012022-06-30"
      decimals="0"
      unitRef="USD">4179846</us-gaap:OperatingIncomeLoss>
    <FSI:GainOnAcquisitionOfSubsidiaries
      contextRef="From2022-01-012022-06-30"
      decimals="0"
      unitRef="USD">335051</FSI:GainOnAcquisitionOfSubsidiaries>
    <us-gaap:GainLossOnInvestments
      contextRef="From2023-01-01to2023-06-30"
      decimals="0"
      unitRef="USD">326703</us-gaap:GainLossOnInvestments>
    <us-gaap:GainLossOnInvestments
      contextRef="From2022-01-012022-06-30"
      decimals="0"
      unitRef="USD">214316</us-gaap:GainLossOnInvestments>
    <us-gaap:InterestIncomeOther
      contextRef="From2023-01-01to2023-06-30"
      decimals="0"
      unitRef="USD">53185</us-gaap:InterestIncomeOther>
    <us-gaap:InterestIncomeOther
      contextRef="From2022-01-012022-06-30"
      decimals="0"
      unitRef="USD">32141</us-gaap:InterestIncomeOther>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="From2023-01-01to2023-06-30"
      decimals="0"
      unitRef="USD">2613370</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="From2022-01-012022-06-30"
      decimals="0"
      unitRef="USD">4761354</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="From2023-01-01to2023-06-30"
      decimals="0"
      unitRef="USD">654149</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="From2022-01-012022-06-30"
      decimals="0"
      unitRef="USD">1255248</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:ProfitLoss
      contextRef="From2023-01-01to2023-06-30"
      decimals="0"
      unitRef="USD">1959221</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="From2022-01-012022-06-30"
      decimals="0"
      unitRef="USD">3506106</us-gaap:ProfitLoss>
    <us-gaap:NetIncomeLossAttributableToNoncontrollingInterest
      contextRef="From2023-01-01to2023-06-30"
      decimals="0"
      unitRef="USD">264987</us-gaap:NetIncomeLossAttributableToNoncontrollingInterest>
    <us-gaap:NetIncomeLossAttributableToNoncontrollingInterest
      contextRef="From2022-01-012022-06-30"
      decimals="0"
      unitRef="USD">310592</us-gaap:NetIncomeLossAttributableToNoncontrollingInterest>
    <us-gaap:NetIncomeLoss
      contextRef="From2023-01-01to2023-06-30"
      decimals="0"
      unitRef="USD">1694234</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="From2022-01-012022-06-30"
      decimals="0"
      unitRef="USD">3195514</us-gaap:NetIncomeLoss>
    <us-gaap:EarningsPerShareBasic
      contextRef="From2023-01-01to2023-06-30"
      decimals="INF"
      unitRef="USDPShares">0.14</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareDiluted
      contextRef="From2023-01-01to2023-06-30"
      decimals="INF"
      unitRef="USDPShares">0.14</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareBasic
      contextRef="From2022-01-012022-06-30"
      decimals="INF"
      unitRef="USDPShares">0.26</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareDiluted
      contextRef="From2022-01-012022-06-30"
      decimals="INF"
      unitRef="USDPShares">0.26</us-gaap:EarningsPerShareDiluted>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="From2023-01-01to2023-06-30"
      decimals="INF"
      unitRef="Shares">12434230</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="From2022-01-012022-06-30"
      decimals="INF"
      unitRef="Shares">12372785</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="From2023-01-01to2023-06-30"
      decimals="INF"
      unitRef="Shares">12498945</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="From2022-01-012022-06-30"
      decimals="INF"
      unitRef="Shares">12511400</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:ProfitLoss
      contextRef="From2023-01-01to2023-06-30"
      decimals="0"
      unitRef="USD">1959221</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="From2022-01-012022-06-30"
      decimals="0"
      unitRef="USD">3506106</us-gaap:ProfitLoss>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="From2023-01-01to2023-06-30"
      decimals="0"
      unitRef="USD">59406</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="From2022-01-012022-06-30"
      decimals="0"
      unitRef="USD">40636</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest
      contextRef="From2023-01-01to2023-06-30"
      decimals="0"
      unitRef="USD">2018627</us-gaap:ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest
      contextRef="From2022-01-012022-06-30"
      decimals="0"
      unitRef="USD">3546742</us-gaap:ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest
      contextRef="From2023-01-01to2023-06-30"
      decimals="0"
      unitRef="USD">264987</us-gaap:ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest>
    <us-gaap:ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest
      contextRef="From2022-01-012022-06-30"
      decimals="0"
      unitRef="USD">310592</us-gaap:ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="From2023-01-01to2023-06-30"
      decimals="0"
      unitRef="USD">1753640</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="From2022-01-012022-06-30"
      decimals="0"
      unitRef="USD">3236150</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:ProfitLoss
      contextRef="From2023-01-01to2023-06-30"
      decimals="0"
      unitRef="USD">1959221</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="From2022-01-012022-06-30"
      decimals="0"
      unitRef="USD">3506106</us-gaap:ProfitLoss>
    <us-gaap:ShareBasedCompensation
      contextRef="From2023-01-01to2023-06-30"
      decimals="0"
      unitRef="USD">366526</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation
      contextRef="From2022-01-012022-06-30"
      decimals="0"
      unitRef="USD">109465</us-gaap:ShareBasedCompensation>
    <us-gaap:DepreciationAndAmortization
      contextRef="From2023-01-01to2023-06-30"
      decimals="0"
      unitRef="USD">751574</us-gaap:DepreciationAndAmortization>
    <us-gaap:DepreciationAndAmortization
      contextRef="From2022-01-012022-06-30"
      decimals="0"
      unitRef="USD">472278</us-gaap:DepreciationAndAmortization>
    <us-gaap:FinanceLeaseRightOfUseAssetAmortization
      contextRef="From2023-01-01to2023-06-30"
      decimals="0"
      unitRef="USD">25687</us-gaap:FinanceLeaseRightOfUseAssetAmortization>
    <us-gaap:FinanceLeaseRightOfUseAssetAmortization
      contextRef="From2022-01-012022-06-30"
      decimals="0"
      unitRef="USD">25583</us-gaap:FinanceLeaseRightOfUseAssetAmortization>
    <FSI:LeaseRightOfUseFinancing
      contextRef="From2023-01-01to2023-06-30"
      decimals="0"
      unitRef="USD">3353</FSI:LeaseRightOfUseFinancing>
    <FSI:LeaseRightOfUseFinancing
      contextRef="From2022-01-012022-06-30"
      decimals="0"
      unitRef="USD">4678</FSI:LeaseRightOfUseFinancing>
    <us-gaap:GainLossOnInvestments
      contextRef="From2023-01-01to2023-06-30"
      decimals="0"
      unitRef="USD">326703</us-gaap:GainLossOnInvestments>
    <us-gaap:GainLossOnInvestments
      contextRef="From2022-01-012022-06-30"
      decimals="0"
      unitRef="USD">214316</us-gaap:GainLossOnInvestments>
    <FSI:GainOnAcquisitionOfSubsidiaries
      contextRef="From2022-01-012022-06-30"
      decimals="0"
      unitRef="USD">335051</FSI:GainOnAcquisitionOfSubsidiaries>
    <us-gaap:IncreaseDecreaseInAccountsReceivable
      contextRef="From2023-01-01to2023-06-30"
      decimals="0"
      unitRef="USD">-2014807</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInAccountsReceivable
      contextRef="From2022-01-012022-06-30"
      decimals="0"
      unitRef="USD">-466252</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInInventories
      contextRef="From2023-01-01to2023-06-30"
      decimals="0"
      unitRef="USD">-3646494</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInInventories
      contextRef="From2022-01-012022-06-30"
      decimals="0"
      unitRef="USD">5683515</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInPrepaidExpense
      contextRef="From2023-01-01to2023-06-30"
      decimals="0"
      unitRef="USD">558583</us-gaap:IncreaseDecreaseInPrepaidExpense>
    <us-gaap:IncreaseDecreaseInPrepaidExpense
      contextRef="From2022-01-012022-06-30"
      decimals="0"
      unitRef="USD">119892</us-gaap:IncreaseDecreaseInPrepaidExpense>
    <us-gaap:IncreaseDecreaseInAccountsPayableAndAccruedLiabilities
      contextRef="From2023-01-01to2023-06-30"
      decimals="0"
      unitRef="USD">-8821</us-gaap:IncreaseDecreaseInAccountsPayableAndAccruedLiabilities>
    <us-gaap:IncreaseDecreaseInAccountsPayableAndAccruedLiabilities
      contextRef="From2022-01-012022-06-30"
      decimals="0"
      unitRef="USD">1416460</us-gaap:IncreaseDecreaseInAccountsPayableAndAccruedLiabilities>
    <us-gaap:IncreaseDecreaseInAccruedIncomeTaxesPayable
      contextRef="From2023-01-01to2023-06-30"
      decimals="0"
      unitRef="USD">405577</us-gaap:IncreaseDecreaseInAccruedIncomeTaxesPayable>
    <us-gaap:IncreaseDecreaseInAccruedIncomeTaxesPayable
      contextRef="From2022-01-012022-06-30"
      decimals="0"
      unitRef="USD">1255248</us-gaap:IncreaseDecreaseInAccruedIncomeTaxesPayable>
    <us-gaap:IncreaseDecreaseInContractWithCustomerLiability
      contextRef="From2023-01-01to2023-06-30"
      decimals="0"
      unitRef="USD">-352357</us-gaap:IncreaseDecreaseInContractWithCustomerLiability>
    <us-gaap:IncreaseDecreaseInContractWithCustomerLiability
      contextRef="From2022-01-012022-06-30"
      decimals="0"
      unitRef="USD">-110760</us-gaap:IncreaseDecreaseInContractWithCustomerLiability>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="From2023-01-01to2023-06-30"
      decimals="0"
      unitRef="USD">7926775</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="From2022-01-012022-06-30"
      decimals="0"
      unitRef="USD">792536</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <FSI:ProceedsFromNoncontrollingInterest
      contextRef="From2023-01-01to2023-06-30"
      decimals="0"
      unitRef="USD">200000</FSI:ProceedsFromNoncontrollingInterest>
    <us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired
      contextRef="From2022-01-012022-06-30"
      decimals="0"
      unitRef="USD">499329</us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired>
    <us-gaap:PaymentsToAcquireInvestments
      contextRef="From2023-01-01to2023-06-30"
      decimals="0"
      unitRef="USD">470000</us-gaap:PaymentsToAcquireInvestments>
    <us-gaap:ProceedsFromSaleOfEquityMethodInvestments
      contextRef="From2022-01-012022-06-30"
      decimals="0"
      unitRef="USD">108750</us-gaap:ProceedsFromSaleOfEquityMethodInvestments>
    <FSI:DepositsOnPurchasesOfEquipment
      contextRef="From2023-01-01to2023-06-30"
      decimals="0"
      unitRef="USD">361616</FSI:DepositsOnPurchasesOfEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="From2023-01-01to2023-06-30"
      decimals="0"
      unitRef="USD">3784193</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="From2022-01-012022-06-30"
      decimals="0"
      unitRef="USD">422067</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="From2023-01-01to2023-06-30"
      decimals="0"
      unitRef="USD">-4415809</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="From2022-01-012022-06-30"
      decimals="0"
      unitRef="USD">-812646</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:RepaymentsOfShortTermDebt
      contextRef="From2023-01-01to2023-06-30"
      decimals="0"
      unitRef="USD">2818591</us-gaap:RepaymentsOfShortTermDebt>
    <us-gaap:RepaymentsOfShortTermDebt
      contextRef="From2022-01-012022-06-30"
      decimals="0"
      unitRef="USD">1151165</us-gaap:RepaymentsOfShortTermDebt>
    <us-gaap:RepaymentsOfLongTermDebt
      contextRef="From2023-01-01to2023-06-30"
      decimals="0"
      unitRef="USD">361265</us-gaap:RepaymentsOfLongTermDebt>
    <us-gaap:RepaymentsOfLongTermDebt
      contextRef="From2022-01-012022-06-30"
      decimals="0"
      unitRef="USD">1945865</us-gaap:RepaymentsOfLongTermDebt>
    <us-gaap:ProceedsFromIssuanceOfLongTermDebt
      contextRef="From2023-01-01to2023-06-30"
      decimals="0"
      unitRef="USD">2248292</us-gaap:ProceedsFromIssuanceOfLongTermDebt>
    <us-gaap:ProceedsFromIssuanceOfLongTermDebt
      contextRef="From2022-01-012022-06-30"
      decimals="0"
      unitRef="USD">2194000</us-gaap:ProceedsFromIssuanceOfLongTermDebt>
    <us-gaap:PaymentsOfDividends
      contextRef="From2023-01-01to2023-06-30"
      decimals="0"
      unitRef="USD">626777</us-gaap:PaymentsOfDividends>
    <us-gaap:PaymentsOfFinancingCosts
      contextRef="From2023-01-01to2023-06-30"
      decimals="0"
      unitRef="USD">29040</us-gaap:PaymentsOfFinancingCosts>
    <us-gaap:PaymentsOfFinancingCosts
      contextRef="From2022-01-012022-06-30"
      decimals="0"
      unitRef="USD">30261</us-gaap:PaymentsOfFinancingCosts>
    <us-gaap:PaymentsToMinorityShareholders
      contextRef="From2023-01-01to2023-06-30"
      decimals="0"
      unitRef="USD">387696</us-gaap:PaymentsToMinorityShareholders>
    <us-gaap:PaymentsToMinorityShareholders
      contextRef="From2022-01-012022-06-30"
      decimals="0"
      unitRef="USD">382856</us-gaap:PaymentsToMinorityShareholders>
    <us-gaap:ProceedsFromIssuanceOfCommonStock
      contextRef="From2023-01-01to2023-06-30"
      decimals="0"
      unitRef="USD">13600</us-gaap:ProceedsFromIssuanceOfCommonStock>
    <us-gaap:ProceedsFromIssuanceOfCommonStock
      contextRef="From2022-01-012022-06-30"
      decimals="0"
      unitRef="USD">74020</us-gaap:ProceedsFromIssuanceOfCommonStock>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="From2023-01-01to2023-06-30"
      decimals="0"
      unitRef="USD">-1961477</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="From2022-01-012022-06-30"
      decimals="0"
      unitRef="USD">-1242127</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
      contextRef="From2023-01-01to2023-06-30"
      decimals="0"
      unitRef="USD">59406</us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations>
    <us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
      contextRef="From2022-01-012022-06-30"
      decimals="0"
      unitRef="USD">40636</us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
      contextRef="From2023-01-01to2023-06-30"
      decimals="0"
      unitRef="USD">1608895</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
      contextRef="From2022-01-012022-06-30"
      decimals="0"
      unitRef="USD">-1221601</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations contextRef="AsOf2022-12-31" decimals="0" unitRef="USD">6815099</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations contextRef="AsOf2021-12-31" decimals="0" unitRef="USD">6735574</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations contextRef="AsOf2023-06-30" decimals="0" unitRef="USD">8423994</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations contextRef="AsOf2022-06-30" decimals="0" unitRef="USD">5513973</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations>
    <us-gaap:CashEquivalentsAtCarryingValue contextRef="AsOf2023-06-30" decimals="0" unitRef="USD">7413753</us-gaap:CashEquivalentsAtCarryingValue>
    <us-gaap:CashEquivalentsAtCarryingValue contextRef="AsOf2022-06-30" decimals="0" unitRef="USD">4488626</us-gaap:CashEquivalentsAtCarryingValue>
    <us-gaap:ShortTermInvestments contextRef="AsOf2023-06-30" decimals="0" unitRef="USD">1010241</us-gaap:ShortTermInvestments>
    <us-gaap:ShortTermInvestments contextRef="AsOf2022-06-30" decimals="0" unitRef="USD">1025347</us-gaap:ShortTermInvestments>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations contextRef="AsOf2023-06-30" decimals="0" unitRef="USD">8423994</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations contextRef="AsOf2022-06-30" decimals="0" unitRef="USD">5513973</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations>
    <us-gaap:IncomeTaxesPaidNet
      contextRef="From2023-01-01to2023-06-30"
      decimals="0"
      unitRef="USD">248572</us-gaap:IncomeTaxesPaidNet>
    <us-gaap:InterestPaidNet
      contextRef="From2023-01-01to2023-06-30"
      decimals="0"
      unitRef="USD">250368</us-gaap:InterestPaidNet>
    <us-gaap:InterestPaidNet
      contextRef="From2022-01-012022-06-30"
      decimals="0"
      unitRef="USD">109457</us-gaap:InterestPaidNet>
    <FSI:InventoryAdditionsInAccountsPayable
      contextRef="From2023-01-01to2023-06-30"
      decimals="0"
      unitRef="USD">250110</FSI:InventoryAdditionsInAccountsPayable>
    <FSI:InventoryAdditionsInAccountsPayable
      contextRef="From2022-01-012022-06-30"
      decimals="0"
      unitRef="USD">580034</FSI:InventoryAdditionsInAccountsPayable>
    <us-gaap:SharesOutstanding
      contextRef="AsOf2022-12-31_us-gaap_CommonStockMember"
      decimals="INF"
      unitRef="Shares">12426260</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2022-12-31_us-gaap_CommonStockMember"
      decimals="0"
      unitRef="USD">12426</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2022-12-31_custom_CapitalInExcessOfParValueMember"
      decimals="0"
      unitRef="USD">17523345</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2022-12-31_us-gaap_RetainedEarningsMember"
      decimals="0"
      unitRef="USD">15903964</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2022-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      decimals="0"
      unitRef="USD">-805799</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2022-12-31_us-gaap_ParentMember"
      decimals="0"
      unitRef="USD">32633936</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2022-12-31_us-gaap_NoncontrollingInterestMember"
      decimals="0"
      unitRef="USD">2605034</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest contextRef="AsOf2022-12-31" decimals="0" unitRef="USD">35238970</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="From2023-01-012023-03-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      decimals="0"
      unitRef="USD">-167239</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="From2023-01-012023-03-31_us-gaap_ParentMember"
      decimals="0"
      unitRef="USD">-167239</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="From2023-01-012023-03-31"
      decimals="0"
      unitRef="USD">-167239</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:ProfitLoss
      contextRef="From2023-01-012023-03-31_us-gaap_RetainedEarningsMember"
      decimals="0"
      unitRef="USD">884369</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="From2023-01-012023-03-31_us-gaap_ParentMember"
      decimals="0"
      unitRef="USD">884369</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="From2023-01-012023-03-31_us-gaap_NoncontrollingInterestMember"
      decimals="0"
      unitRef="USD">80125</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="From2023-01-012023-03-31"
      decimals="0"
      unitRef="USD">964494</us-gaap:ProfitLoss>
    <us-gaap:StockIssuedDuringPeriodSharesNewIssues
      contextRef="From2023-01-012023-03-31_us-gaap_CommonStockMember"
      decimals="INF"
      unitRef="Shares">9272</us-gaap:StockIssuedDuringPeriodSharesNewIssues>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="From2023-01-012023-03-31_us-gaap_CommonStockMember"
      decimals="0"
      unitRef="USD">10</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="From2023-01-012023-03-31_custom_CapitalInExcessOfParValueMember"
      decimals="0"
      unitRef="USD">13590</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="From2023-01-012023-03-31_us-gaap_ParentMember"
      decimals="0"
      unitRef="USD">13600</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="From2023-01-012023-03-31"
      decimals="0"
      unitRef="USD">13600</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="From2023-01-012023-03-31_custom_CapitalInExcessOfParValueMember"
      decimals="0"
      unitRef="USD">185298</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="From2023-01-012023-03-31_us-gaap_ParentMember"
      decimals="0"
      unitRef="USD">185298</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="From2023-01-012023-03-31"
      decimals="0"
      unitRef="USD">185298</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:SharesOutstanding
      contextRef="AsOf2023-03-31_us-gaap_CommonStockMember"
      decimals="INF"
      unitRef="Shares">12435532</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2023-03-31_us-gaap_CommonStockMember"
      decimals="0"
      unitRef="USD">12436</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2023-03-31_custom_CapitalInExcessOfParValueMember"
      decimals="0"
      unitRef="USD">17722233</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2023-03-31_us-gaap_RetainedEarningsMember"
      decimals="0"
      unitRef="USD">16788333</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2023-03-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      decimals="0"
      unitRef="USD">-973038</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2023-03-31_us-gaap_ParentMember"
      decimals="0"
      unitRef="USD">33549964</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2023-03-31_us-gaap_NoncontrollingInterestMember"
      decimals="0"
      unitRef="USD">2685159</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest contextRef="AsOf2023-03-31" decimals="0" unitRef="USD">36235123</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="From2023-04-012023-06-30_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      decimals="0"
      unitRef="USD">226645</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="From2023-04-012023-06-30_us-gaap_ParentMember"
      decimals="0"
      unitRef="USD">226645</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="From2023-04-012023-06-30"
      decimals="0"
      unitRef="USD">226645</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:ProfitLoss
      contextRef="From2023-04-012023-06-30_us-gaap_RetainedEarningsMember"
      decimals="0"
      unitRef="USD">809865</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="From2023-04-012023-06-30_us-gaap_ParentMember"
      decimals="0"
      unitRef="USD">809865</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="From2023-04-012023-06-30_us-gaap_NoncontrollingInterestMember"
      decimals="0"
      unitRef="USD">184862</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="From2023-04-012023-06-30"
      decimals="0"
      unitRef="USD">994727</us-gaap:ProfitLoss>
    <us-gaap:Dividends
      contextRef="From2023-04-012023-06-30_us-gaap_RetainedEarningsMember"
      decimals="0"
      unitRef="USD">626777</us-gaap:Dividends>
    <us-gaap:Dividends
      contextRef="From2023-04-012023-06-30_us-gaap_ParentMember"
      decimals="0"
      unitRef="USD">626777</us-gaap:Dividends>
    <us-gaap:Dividends
      contextRef="From2023-04-012023-06-30"
      decimals="0"
      unitRef="USD">626777</us-gaap:Dividends>
    <us-gaap:NoncontrollingInterestIncreaseFromBusinessCombination
      contextRef="From2023-04-012023-06-30_us-gaap_NoncontrollingInterestMember"
      decimals="0"
      unitRef="USD">200000</us-gaap:NoncontrollingInterestIncreaseFromBusinessCombination>
    <us-gaap:NoncontrollingInterestIncreaseFromBusinessCombination
      contextRef="From2023-04-012023-06-30"
      decimals="0"
      unitRef="USD">200000</us-gaap:NoncontrollingInterestIncreaseFromBusinessCombination>
    <us-gaap:MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders
      contextRef="From2023-04-012023-06-30_us-gaap_NoncontrollingInterestMember"
      decimals="0"
      unitRef="USD">387696</us-gaap:MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders>
    <us-gaap:MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders
      contextRef="From2023-04-012023-06-30"
      decimals="0"
      unitRef="USD">387696</us-gaap:MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="From2023-04-012023-06-30_custom_CapitalInExcessOfParValueMember"
      decimals="0"
      unitRef="USD">181228</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="From2023-04-012023-06-30_us-gaap_ParentMember"
      decimals="0"
      unitRef="USD">181228</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="From2023-04-012023-06-30"
      decimals="0"
      unitRef="USD">181228</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:SharesOutstanding
      contextRef="AsOf2023-06-30_us-gaap_CommonStockMember"
      decimals="INF"
      unitRef="Shares">12435532</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2023-06-30_us-gaap_CommonStockMember"
      decimals="0"
      unitRef="USD">12436</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2023-06-30_custom_CapitalInExcessOfParValueMember"
      decimals="0"
      unitRef="USD">17903461</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2023-06-30_us-gaap_RetainedEarningsMember"
      decimals="0"
      unitRef="USD">16971421</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2023-06-30_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      decimals="0"
      unitRef="USD">-746393</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2023-06-30_us-gaap_ParentMember"
      decimals="0"
      unitRef="USD">34140925</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2023-06-30_us-gaap_NoncontrollingInterestMember"
      decimals="0"
      unitRef="USD">2682325</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest contextRef="AsOf2023-06-30" decimals="0" unitRef="USD">36823250</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:SharesOutstanding
      contextRef="AsOf2021-12-31_us-gaap_CommonStockMember"
      decimals="INF"
      unitRef="Shares">12355246</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2021-12-31_us-gaap_CommonStockMember"
      decimals="0"
      unitRef="USD">12355</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2021-12-31_custom_CapitalInExcessOfParValueMember"
      decimals="0"
      unitRef="USD">16983648</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2021-12-31_us-gaap_RetainedEarningsMember"
      decimals="0"
      unitRef="USD">8882360</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2021-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      decimals="0"
      unitRef="USD">-775730</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2021-12-31_us-gaap_ParentMember"
      decimals="0"
      unitRef="USD">25102633</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2021-12-31_us-gaap_NoncontrollingInterestMember"
      decimals="0"
      unitRef="USD">2602843</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest contextRef="AsOf2021-12-31" decimals="0" unitRef="USD">27705476</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="From2022-01-012022-03-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      decimals="0"
      unitRef="USD">42543</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="From2022-01-012022-03-31_us-gaap_ParentMember"
      decimals="0"
      unitRef="USD">42543</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="From2022-01-012022-03-31"
      decimals="0"
      unitRef="USD">42543</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:ProfitLoss
      contextRef="From2022-01-012022-03-31_us-gaap_RetainedEarningsMember"
      decimals="0"
      unitRef="USD">1533059</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="From2022-01-012022-03-31_us-gaap_ParentMember"
      decimals="0"
      unitRef="USD">1533059</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="From2022-01-012022-03-31_us-gaap_NoncontrollingInterestMember"
      decimals="0"
      unitRef="USD">144477</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="From2022-01-012022-03-31"
      decimals="0"
      unitRef="USD">1677536</us-gaap:ProfitLoss>
    <us-gaap:StockIssuedDuringPeriodSharesNewIssues
      contextRef="From2022-01-012022-03-31_us-gaap_CommonStockMember"
      decimals="INF"
      unitRef="Shares">22500</us-gaap:StockIssuedDuringPeriodSharesNewIssues>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="From2022-01-012022-03-31_us-gaap_CommonStockMember"
      decimals="0"
      unitRef="USD">23</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="From2022-01-012022-03-31_custom_CapitalInExcessOfParValueMember"
      decimals="0"
      unitRef="USD">56917</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="From2022-01-012022-03-31_us-gaap_ParentMember"
      decimals="0"
      unitRef="USD">56940</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="From2022-01-012022-03-31"
      decimals="0"
      unitRef="USD">56940</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <us-gaap:MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders
      contextRef="From2022-01-012022-03-31_us-gaap_NoncontrollingInterestMember"
      decimals="0"
      unitRef="USD">265922</us-gaap:MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders>
    <us-gaap:MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders
      contextRef="From2022-01-012022-03-31"
      decimals="0"
      unitRef="USD">265922</us-gaap:MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="From2022-01-012022-03-31_custom_CapitalInExcessOfParValueMember"
      decimals="0"
      unitRef="USD">54271</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="From2022-01-012022-03-31_us-gaap_ParentMember"
      decimals="0"
      unitRef="USD">54271</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="From2022-01-012022-03-31"
      decimals="0"
      unitRef="USD">54271</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:SharesOutstanding
      contextRef="AsOf2022-03-31_us-gaap_CommonStockMember"
      decimals="INF"
      unitRef="Shares">12377746</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2022-03-31_us-gaap_CommonStockMember"
      decimals="0"
      unitRef="USD">12378</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2022-03-31_custom_CapitalInExcessOfParValueMember"
      decimals="0"
      unitRef="USD">17094836</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2022-03-31_us-gaap_RetainedEarningsMember"
      decimals="0"
      unitRef="USD">10415419</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2022-03-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      decimals="0"
      unitRef="USD">-733187</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2022-03-31_us-gaap_ParentMember"
      decimals="0"
      unitRef="USD">26789446</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2022-03-31_us-gaap_NoncontrollingInterestMember"
      decimals="0"
      unitRef="USD">2481398</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest contextRef="AsOf2022-03-31" decimals="0" unitRef="USD">29270844</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:SharesOutstanding
      contextRef="AsOf2022-03-31_us-gaap_CommonStockMember"
      decimals="INF"
      unitRef="Shares">12377746</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2022-03-31_us-gaap_CommonStockMember"
      decimals="0"
      unitRef="USD">12378</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2022-03-31_custom_CapitalInExcessOfParValueMember"
      decimals="0"
      unitRef="USD">17094836</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2022-03-31_us-gaap_RetainedEarningsMember"
      decimals="0"
      unitRef="USD">10415419</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2022-03-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      decimals="0"
      unitRef="USD">-733187</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2022-03-31_us-gaap_ParentMember"
      decimals="0"
      unitRef="USD">26789446</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2022-03-31_us-gaap_NoncontrollingInterestMember"
      decimals="0"
      unitRef="USD">2481398</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest contextRef="AsOf2022-03-31" decimals="0" unitRef="USD">29270844</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="From2022-04-012022-06-30_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      decimals="0"
      unitRef="USD">-1907</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="From2022-04-012022-06-30_us-gaap_ParentMember"
      decimals="0"
      unitRef="USD">-1907</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="From2022-04-012022-06-30"
      decimals="0"
      unitRef="USD">-1907</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:ProfitLoss
      contextRef="From2022-04-012022-06-30_us-gaap_RetainedEarningsMember"
      decimals="0"
      unitRef="USD">1662455</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="From2022-04-012022-06-30_us-gaap_ParentMember"
      decimals="0"
      unitRef="USD">1662455</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="From2022-04-012022-06-30_us-gaap_NoncontrollingInterestMember"
      decimals="0"
      unitRef="USD">166115</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="From2022-04-012022-06-30"
      decimals="0"
      unitRef="USD">1828570</us-gaap:ProfitLoss>
    <us-gaap:StockIssuedDuringPeriodSharesNewIssues
      contextRef="From2022-04-012022-06-30_us-gaap_CommonStockMember"
      decimals="INF"
      unitRef="Shares">7000</us-gaap:StockIssuedDuringPeriodSharesNewIssues>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="From2022-04-012022-06-30_us-gaap_CommonStockMember"
      decimals="0"
      unitRef="USD">7</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="From2022-04-012022-06-30_custom_CapitalInExcessOfParValueMember"
      decimals="0"
      unitRef="USD">17073</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="From2022-04-012022-06-30_us-gaap_ParentMember"
      decimals="0"
      unitRef="USD">17080</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="From2022-04-012022-06-30"
      decimals="0"
      unitRef="USD">17080</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <us-gaap:MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders
      contextRef="From2022-04-012022-06-30_us-gaap_NoncontrollingInterestMember"
      decimals="0"
      unitRef="USD">116934</us-gaap:MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders>
    <us-gaap:MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders
      contextRef="From2022-04-012022-06-30"
      decimals="0"
      unitRef="USD">116934</us-gaap:MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="From2022-04-012022-06-30_custom_CapitalInExcessOfParValueMember"
      decimals="0"
      unitRef="USD">55194</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="From2022-04-012022-06-30_us-gaap_ParentMember"
      decimals="0"
      unitRef="USD">55194</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="From2022-04-012022-06-30"
      decimals="0"
      unitRef="USD">55194</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:SharesOutstanding
      contextRef="AsOf2022-06-30_us-gaap_CommonStockMember"
      decimals="INF"
      unitRef="Shares">12384746</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2022-06-30_us-gaap_CommonStockMember"
      decimals="0"
      unitRef="USD">12385</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2022-06-30_custom_CapitalInExcessOfParValueMember"
      decimals="0"
      unitRef="USD">17167103</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2022-06-30_us-gaap_RetainedEarningsMember"
      decimals="0"
      unitRef="USD">12077874</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2022-06-30_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      decimals="0"
      unitRef="USD">-735094</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2022-06-30_us-gaap_ParentMember"
      decimals="0"
      unitRef="USD">28522268</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2022-06-30_us-gaap_NoncontrollingInterestMember"
      decimals="0"
      unitRef="USD">2530579</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest contextRef="AsOf2022-06-30" decimals="0" unitRef="USD">31052847</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:SharesOutstanding
      contextRef="AsOf2022-06-30_us-gaap_CommonStockMember"
      decimals="INF"
      unitRef="Shares">12384746</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2022-06-30_us-gaap_CommonStockMember"
      decimals="0"
      unitRef="USD">12385</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2022-06-30_custom_CapitalInExcessOfParValueMember"
      decimals="0"
      unitRef="USD">17167103</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2022-06-30_us-gaap_RetainedEarningsMember"
      decimals="0"
      unitRef="USD">12077874</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2022-06-30_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      decimals="0"
      unitRef="USD">-735094</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2022-06-30_us-gaap_ParentMember"
      decimals="0"
      unitRef="USD">28522268</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2022-06-30_us-gaap_NoncontrollingInterestMember"
      decimals="0"
      unitRef="USD">2530579</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest contextRef="AsOf2022-06-30" decimals="0" unitRef="USD">31052847</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:BusinessDescriptionAndBasisOfPresentationTextBlock contextRef="From2023-01-01to2023-06-30">&lt;p id="xdx_807_eus-gaap--BusinessDescriptionAndBasisOfPresentationTextBlock_zwuieF7RzZ7f" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="font: small-caps 10pt Times New Roman, Times, Serif"&gt;&lt;b&gt;1.
&lt;span id="xdx_82B_z19WeQBfZQdj"&gt;BASIS OF PRESENTATION&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;b&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;.&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"&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: 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;These
interim condensed consolidated financial statements (&#x201c;consolidated financial statements&#x201d;) include the accounts of Flexible
Solutions International, Inc. (the &#x201c;Company&#x201d;), its wholly-owned subsidiaries Flexible Fermentation Ltd., NanoChem Solutions
Inc. (&#x201c;NanoChem&#x201d;), Flexible Solutions Ltd., Flexible Biomass LP, FS Biomass Inc., NCS Deferred Corp., Natural Chem SEZC Ltd.,
InnFlex Holdings Inc., ENP Peru Investments LLC (&#x201c;ENP Peru&#x201d;), its &lt;span id="xdx_901_eus-gaap--SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest_pid_dp_uPure_c20230101__20230630__srt--OwnershipAxis__custom--EnpPeruInvestmentsLlcMember_zms28bf4l302"&gt;100&lt;/span&gt;% controlling interest in 317 Mendota LLC, and its &lt;span id="xdx_90A_eus-gaap--SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest_pid_dp_uPure_c20230101__20230630__srt--OwnershipAxis__custom--ENPInvestmentsLLCAndENPMendotaMember_z8GGCSSsQaMh"&gt;65&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;%
controlling interest in ENP Investments, LLC (&#x201c;ENP Investments&#x201d;) and ENP Mendota, LLC (&#x201c;ENP Mendota&#x201d;). All inter-company
balances and transactions have been eliminated upon consolidation. The Company was incorporated on May 12, 1998 in the State of Nevada
and had no operations until June 30, 1998. In 2019, the Company redomiciled into Alberta, Canada.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;In
2022, NanoChem purchased an additional &lt;span id="xdx_900_eus-gaap--SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest_pid_dp_uPure_c20220101__20221231__srt--OwnershipAxis__custom--ENPPeruMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--UnrelatedPartyMember_zATlqh3cWIWd" title="Subsidiary company ownership interest rate"&gt;50&lt;/span&gt;%
in ENP Peru, increasing its share to &lt;span id="xdx_905_ecustom--IncreaseDecreaseInSharePercentage_pid_dp_uPure_c20220101__20221231__srt--OwnershipAxis__custom--ENPPeruMember_zgWZWSvH7XK5" title="Increase decrease in share percentage"&gt;50&lt;/span&gt;%.
ENP Investments owns the remaining &lt;span id="xdx_901_ecustom--RemainingInvestmentOwnedPercentage_pid_dp_uPure_c20220101__20221231__srt--OwnershipAxis__custom--ENPPeruMember_zPgKYpiZzaUc" title="Remaining investment owned percentage"&gt;8.33&lt;/span&gt;%,
of which the Company has a &lt;span id="xdx_90B_eus-gaap--SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest_pid_dp_uPure_c20220101__20220630__srt--OwnershipAxis__custom--ENPPeruMember_zZiY5jHP6Tse" title="Subsidiary company ownership interest rate"&gt;100&lt;/span&gt;%
interest. In 2023, NanoChem purchased the remaining &lt;span id="xdx_90F_ecustom--RemainingInvestmentOwnedPercentage_pid_dp_uPure_c20230101__20230630__srt--OwnershipAxis__custom--ENPPeruMember_z4sLMXwFWoUk" title="Remaining investment owned percentage"&gt;nil&lt;/span&gt;%
of shares to become sole owner. ENP Peru was previously accounted for under the equity method however, it is now consolidated into
the financial statements from the date control was obtained.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 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 2023, the Company purchased an &lt;span id="xdx_90E_eus-gaap--SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest_pid_dp_uPure_c20230601__20230630__srt--OwnershipAxis__custom--MendotaLLCMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--UnrelatedPartyMember_zqM0cJnr0gvk" title="Subsidiary company ownership interest rate"&gt;80&lt;/span&gt;%
interest in 317 Mendota LLC, a newly incorporated company established to purchase a large manufacturing building. ENP Investments will
occupy part of this building, freeing up more space in the building owned by ENP Peru for NanoChem. The Company intends to rent the
remainder of space to suitable tenants. The remaining &lt;span id="xdx_902_eus-gaap--SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest_pid_dp_uPure_c20230601__20230630__srt--OwnershipAxis__custom--MendotaLLCMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_z5yataWJ8Nal" title="Subsidiary company ownership interest rate related party"&gt;20%&lt;/span&gt; interest is held by unrelated parties.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 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 and its subsidiaries develop, manufacture and market specialty chemicals which slow the evaporation of water. One product, HEATSAVR&#xae;,
is marketed for use in swimming pools and spas where its use, by slowing the evaporation of water, allows the water to retain a higher
temperature for a longer period of time and thereby reduces the energy required to maintain the desired temperature of the water in the
pool. Another product, WATERSAVR&#xae;, is marketed for water conservation in irrigation canals, aquaculture, and reservoirs where its
use slows water loss due to evaporation. In addition to the water conservation products, the Company also manufactures and markets water-soluble
chemicals utilizing thermal polyaspartate biopolymers (hereinafter referred to as &#x201c;TPAs&#x201d;), which are beta-proteins manufactured
from the common biological amino acid, L-aspartic. TPAs can be formulated to prevent corrosion and scaling in water piping within the
petroleum, chemical, utility and mining industries. TPAs are also used as proteins to enhance fertilizers in improving crop yields and
can be used as additives for household laundry detergents, consumer care products and pesticides. The TPA division also manufactures
two nitrogen conservation products for agriculture that slows nitrogen loss from fields.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"&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: 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
outbreak of the novel strain of coronavirus, specifically identified as &#x201c;COVID-19&#x201d;, has resulted in a widespread health crisis
that has affected economies and financial markets around the world resulting in an economic downturn. This outbreak may also cause staff
shortages, reduced customer demand, increased government regulations or interventions, all of which may negatively impact the business,
financial condition or results of operations of the Company. The duration and impact of the COVID-19 outbreak is unknown at this time
and it is not possible to reliably estimate the length and severity of these developments.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="font: small-caps 10pt Times New Roman, Times, Serif"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

</us-gaap:BusinessDescriptionAndBasisOfPresentationTextBlock>
    <us-gaap:SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest
      contextRef="From2023-01-012023-06-30_custom_EnpPeruInvestmentsLlcMember"
      decimals="INF"
      unitRef="Pure">1</us-gaap:SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest>
    <us-gaap:SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest
      contextRef="From2023-01-012023-06-30_custom_ENPInvestmentsLLCAndENPMendotaMember"
      decimals="INF"
      unitRef="Pure">0.65</us-gaap:SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest>
    <us-gaap:SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest
      contextRef="From2022-01-012022-12-31_custom_ENPPeruMember_custom_UnrelatedPartyMember"
      decimals="INF"
      unitRef="Pure">0.50</us-gaap:SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest>
    <FSI:IncreaseDecreaseInSharePercentage
      contextRef="From2022-01-012022-12-31_custom_ENPPeruMember"
      decimals="INF"
      unitRef="Pure">0.50</FSI:IncreaseDecreaseInSharePercentage>
    <FSI:RemainingInvestmentOwnedPercentage
      contextRef="From2022-01-012022-12-31_custom_ENPPeruMember"
      decimals="INF"
      unitRef="Pure">0.0833</FSI:RemainingInvestmentOwnedPercentage>
    <us-gaap:SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest
      contextRef="From2022-01-012022-06-30_custom_ENPPeruMember"
      decimals="INF"
      unitRef="Pure">1</us-gaap:SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest>
    <us-gaap:SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest
      contextRef="From2023-06-012023-06-30_custom_MendotaLLCMember_custom_UnrelatedPartyMember"
      decimals="INF"
      unitRef="Pure">0.80</us-gaap:SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest>
    <us-gaap:SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest
      contextRef="From2023-06-012023-06-30_custom_MendotaLLCMember_us-gaap_RelatedPartyMember"
      decimals="INF"
      unitRef="Pure">0.20</us-gaap:SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest>
    <us-gaap:SignificantAccountingPoliciesTextBlock contextRef="From2023-01-01to2023-06-30">&lt;p id="xdx_804_eus-gaap--SignificantAccountingPoliciesTextBlock_zyL9SEagLv89" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="font: small-caps 10pt Times New Roman, Times, Serif"&gt;&lt;b&gt;2.
&lt;span id="xdx_82D_zq9vLdRUBiS2"&gt;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: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
consolidated financial statements of the Company have been prepared by management in accordance with accounting principles generally
accepted in the United States (&#x201c;GAAP&#x201d;) for interim financial information, applied on a basis consistent for all periods.
Accordingly, they do not include all of the information and disclosures required by U.S. GAAP for a complete set of financial statements.
These consolidated financial statements and notes thereto should be read in conjunction with the audited consolidated financial statements
and notes thereto included in the Company&#x2019;s Annual Report on Form 10-K for the year ended December 31, 2022, filed with the Securities
and Exchange Commission on March 31, 2023. In the opinion of management, all adjustments of a normal recurring nature considered necessary
for a fair presentation have been included. The results of operations of any interim period are not necessarily indicative of the results
of operations to be expected for the full fiscal year.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; 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: 0pt 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_842_eus-gaap--CashAndCashEquivalentsPolicyTextBlock_zicM2NylsROb" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(a)
&lt;i&gt;&lt;span id="xdx_86D_zMrmZPxeghyd"&gt;Cash and Cash Equivalents&lt;/span&gt;&lt;/i&gt;.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 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 considers all highly liquid investments purchased with an original or remaining maturity of less than three months at the date
of purchase to be cash equivalents. Cash and cash equivalents are maintained with several financial institutions.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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_84E_ecustom--TermDepositsPolicyTextBlock_zjbKP8uY4eng" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(b)
&lt;i&gt;&lt;span id="xdx_865_zmJ6QuodZ3S5"&gt;Term Deposits&lt;/span&gt;.&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
deposits maintained by the Company with banks comprises term deposits. The Company has two term deposits, the first for $&lt;span id="xdx_904_eus-gaap--Deposits_iI_c20230630_zkqkytE7m8Ce" title="Deposit"&gt;700,000&lt;/span&gt; that
matures in 2023 and pays interest at a rate of &lt;span id="xdx_90A_eus-gaap--PercentageOfInterestBearingDomesticDepositsToDepositsTimeDeposits_iI_pid_dp_uPure_c20230630_zFSqni8Ckcm" title="Term deposits percent"&gt;8.25&lt;/span&gt;%. If withdrawn before maturity, the greater of the loss of accrued interest or $&lt;span id="xdx_90D_eus-gaap--InterestPayableCurrentAndNoncurrent_iI_c20230630_z8sLaxM5cSig" title="Accured interest"&gt;150&lt;/span&gt;,
plus 1% of the principal shall be levied. The second term deposit for $&lt;span id="xdx_902_ecustom--OtherTermDeposit_iI_c20230630_zU62d90BQ9Fj" title="Other term deposit"&gt;300,000&lt;/span&gt; pays 1.3% interest, matures in 2023 and can be withdrawn
by the Company at any point without prior notice or penalty on the principal.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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_84C_eus-gaap--InventoryPolicyTextBlock_zpblHmJSuGpk" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(c)
&lt;i&gt;&lt;span id="xdx_864_ztrwkG422oTe"&gt;Inventories and Cost of Sales.&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 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 three major classes of inventory: completed goods, work in progress and raw materials and supplies. In all classes inventories
are stated at the lower of cost and net realizable value. Cost is determined on a first-in, first-out basis or weighted average cost
formula to inventories in different subsidiaries. Cost of sales includes all expenditures incurred in bringing the goods to the point
of sale. Inventory costs and costs of sales include direct costs of the raw material, inbound freight charges, warehousing costs, handling
costs (receiving and purchasing) and utilities and overhead expenses related to the Company&#x2019;s manufacturing and processing facilities.
Shipping and handling charges billed to customers are included in revenue (2023 - $&lt;span id="xdx_906_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20230630__srt--ProductOrServiceAxis__us-gaap--ShippingAndHandlingMember_zyTno39YuTAf" title="Sales"&gt;286,290&lt;/span&gt;; 2022 - $&lt;span id="xdx_90A_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20220630__srt--ProductOrServiceAxis__us-gaap--ShippingAndHandlingMember_zlEPAGPnoS4k" title="Sales"&gt;231,106&lt;/span&gt;). Shipping and handling costs
incurred are included in cost of goods sold (2023 - $&lt;span id="xdx_904_eus-gaap--CostOfGoodsAndServicesSold_pp0p0_c20230101__20230630__srt--ProductOrServiceAxis__us-gaap--ShippingAndHandlingMember_zKm6msWmGYra" title="Cost of sales"&gt;542,321&lt;/span&gt;; 2022 - $&lt;span id="xdx_904_eus-gaap--CostOfGoodsAndServicesSold_pp0p0_c20220101__20220630__srt--ProductOrServiceAxis__us-gaap--ShippingAndHandlingMember_zxZOOAkukJS9" title="Cost of sales"&gt;580,697&lt;/span&gt;).&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"&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_84D_eus-gaap--PremiumsReceivableAllowanceForDoubtfulAccountsEstimationMethodologyPolicy_zdssy62Wwhe5" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(d)
&lt;i&gt;&lt;span id="xdx_869_zhai0jNlTp2g"&gt;Allowance for Doubtful Accounts.&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 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 provides an allowance for doubtful accounts when management estimates collectability to be uncertain. Accounts receivable are
continually reviewed to determine which, if any, accounts are doubtful of collection. In making the determination of the appropriate
allowance amount, the Company considers current economic and industry conditions, relationships with each significant customer, overall
customer credit-worthiness and historical experience.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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_843_eus-gaap--PropertyPlantAndEquipmentPolicyTextBlock_z5EGEbnXvXyl" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(e)
&lt;i&gt;&lt;span id="xdx_867_zof3ODUmIhkd"&gt;Property, Equipment, Leaseholds and Intangible Assets&lt;/span&gt;.&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"&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_ecustom--ScheduleOfMethodOfDepreciationTableTextBlock_zIliTOh5Ygle" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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 assets are recorded at cost and depreciated using the methods and annual rates shown below:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;span id="xdx_8B4_z11MQ97gvW02" style="display: none; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;SCHEDULE
OF METHOD OF DEPRECIATION&lt;/span&gt;&lt;/span&gt;&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; width: 100%; border-collapse: collapse"&gt;
  &lt;tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"&gt;
    &lt;td style="width: 10%"&gt;&#160;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; width: 40%"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Computer
    hardware&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; width: 2%"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; width: 48%"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_907_ecustom--DepreciationMethodUsedAndAnnualRate_c20230101__20230630__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--ComputerEquipmentMember_zzenDHYhcKT9" title="Depreciation method used and annual rate"&gt;30%
    Declining balance&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Manufacturing
    equipment&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_909_ecustom--DepreciationMethodUsedAndAnnualRate_c20230101__20230630__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--MachineryAndEquipmentMember_zHhhXvUgBhEd" title="Depreciation method used and annual rate"&gt;20%
    Declining balance&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Office
    equipment&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_902_ecustom--DepreciationMethodUsedAndAnnualRate_c20230101__20230630__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--OfficeEquipmentMember_zTzepZMin8gj" title="Depreciation method used and annual rate"&gt;20%
    Declining balance&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Boat&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_908_ecustom--DepreciationMethodUsedAndAnnualRate_c20230101__20230630__us-gaap--PropertyPlantAndEquipmentByTypeAxis__custom--BoatMember_zbY0Kquh1Pue" title="Depreciation method used and annual rate"&gt;20%
    Declining balance&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Building
    and improvements&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_902_ecustom--DepreciationMethodUsedAndAnnualRate_c20230101__20230630__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--BuildingAndBuildingImprovementsMember_zKSxdAAV8Hdj" title="Depreciation method used and annual rate"&gt;10%
    Declining balance&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Trailer&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_902_ecustom--DepreciationMethodUsedAndAnnualRate_c20230101__20230630__us-gaap--PropertyPlantAndEquipmentByTypeAxis__custom--TrailerMember_zMtKVexsDpOc" title="Depreciation method used and annual rate"&gt;30%
    Declining balance&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Automobiles&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_90E_ecustom--DepreciationMethodUsedAndAnnualRate_c20230101__20230630__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--AutomobilesMember_ziFvXYKfETj1" title="Depreciation method used and annual rate"&gt;Straight-line
    over 5 years&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Patents&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_907_ecustom--DepreciationMethodUsedAndAnnualRate_c20230101__20230630__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--PatentsMember_z3p0DvDLQby6" title="Depreciation method used and annual rate"&gt;Straight-line
    over 17 years&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Technology&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_907_ecustom--DepreciationMethodUsedAndAnnualRate_c20230101__20230630__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--TechnologyEquipmentMember_zoVne9r8J25l" title="Depreciation method used and annual rate"&gt;Straight-line
    over 10 years&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Leasehold
    improvements&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_90B_ecustom--DepreciationMethodUsedAndAnnualRate_c20230101__20230630__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--LeaseholdImprovementsMember_z9pVdLIoLHca" title="Depreciation method used and annual rate"&gt;Straight-line
    over lease term&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Customer
    relationships &lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_90F_ecustom--DepreciationMethodUsedAndAnnualRate_c20230101__20230630__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--CustomerRelationshipsMember_z0BOVEoyXCHd" title="Depreciation method used and annual rate"&gt;Straight-line
    over 15 years&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Software
    &lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_90D_ecustom--DepreciationMethodUsedAndAnnualRate_c20230101__20230630__us-gaap--PropertyPlantAndEquipmentByTypeAxis__custom--SoftwareMember_zDcmxHehpbL9" title="Depreciation method used and annual rate"&gt;Straight-line
    over 3 years&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;
&lt;p id="xdx_8A0_zSsBvSa3h8bh" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"&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; text-align: center; margin-top: 0pt; margin-bottom: 0pt"&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--ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock_zPRp3higDPWf" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(f)
&lt;i&gt;&lt;span id="xdx_861_zj2qqQc3X2Jf"&gt;Impairment of Long-Lived Assets&lt;/span&gt;&lt;/i&gt;.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"&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: 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;In
accordance with FASB Codification Topic 360, &lt;i&gt;Property, Plant and Equipment&lt;/i&gt; (ASC 360), the Company reviews long-lived assets, including,
but not limited to, property, equipment and leaseholds, patents and other assets, for impairment annually or whenever events or changes
in circumstances indicate the carrying amounts of assets may not be recoverable. The carrying value of long-lived assets is assessed
for impairment by evaluating operating performance and future undiscounted cash flows of the underlying assets. If the expected future
cash flows of an asset is less than its carrying value, an impairment measurement is indicated. Impairment charges are recorded to the
extent that an asset&#x2019;s carrying value exceeds its fair value. Accordingly, actual results could vary significantly from such estimates.
There were no impairment charges during the periods presented.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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_847_eus-gaap--ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock_zBpveqFDNBP7" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(g)
&lt;i&gt;&lt;span id="xdx_860_zCUfYVAKciR8"&gt;Foreign Currency&lt;/span&gt;&lt;/i&gt;.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
functional currency of the Company is the U.S. dollar. The functional currency of three of the Company&#x2019;s subsidiaries is the Canadian
dollar. The translation of the Canadian dollar to the reporting currency of the Company, the U.S. dollar, is performed for assets and
liabilities using exchange rates in effect at the balance sheet date. Revenue and expense transactions are translated using average exchange
rates prevailing during the year. Translation adjustments arising on conversion of the Company&#x2019;s financial statements from the
subsidiary&#x2019;s functional currency, Canadian dollars, into the reporting currency, U.S. dollars, are excluded from the determination
of income (loss) and are disclosed as other comprehensive income in the consolidated statements of income and comprehensive income.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Foreign
exchange gains and losses relating to transactions not denominated in the applicable local currency are included in operating income
(loss) if realized during the year and in comprehensive income (loss) if they remain unrealized at the end of the year.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.5in; 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_840_eus-gaap--RevenueFromContractWithCustomerPolicyTextBlock_zFz0R1K6izM" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.5in; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(h)
&lt;i&gt;&lt;span id="xdx_862_z7NhCdkq84Hi"&gt;Revenue Recognition.&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in; background-color: white"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company generates revenue primarily from energy and water conservation products and biodegradable polymers, as further discussed in Note
16.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 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 follows a five-step model for revenue recognition. The five steps are: (1) identification of the contract(s) with the customer,
(2) identification of the performance obligation(s) in the contract(s), (3) determination of the transaction price, (4) allocation of
the transaction price to the performance obligation, and (5) recognition of revenue when (or as) the performance obligation is satisfied.
The Company has fulfilled its performance obligations when control transfers to the customer, which is generally at the time the product
is shipped since risk of loss is transferred to the purchaser upon delivery to the carrier. For shipments which are free-on-board shipping
point, the Company has elected to account for shipping and handling activities as a fulfillment cost rather than as an additional promised
service and performance obligation.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Since
the Company&#x2019;s inception, product returns have been insignificant; therefore, no provision has been established for estimated product
returns.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 1in"&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: 0pt 0; text-align: justify; text-indent: 0.5in; background-color: white"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Deferred
revenues consist of products sold to distributors with payment terms greater than the Company&#x2019;s customary business terms due to
lack of credit history or operating in a new market in which the Company has no prior experience. The Company defers the recognition
of revenue until the criteria for revenue recognition has been met and payments become due or cash is received from these distributors.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 1in"&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: 0pt 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_848_ecustom--StockIssuedInExchangeForServicesPolicyTextBlock_zCmWsGLmNvY" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(i)
&lt;i&gt;&lt;span id="xdx_86D_zH563OXQ0iJ4"&gt;Stock Issued in Exchange for Services&lt;/span&gt;&lt;/i&gt;.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 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 common stock issued in exchange for services is valued at estimated fair market value based upon trading prices of the
Company&#x2019;s common stock on the dates of the stock transactions. The corresponding expense of the services rendered is recognized
over the period that the services are performed.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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_84F_eus-gaap--CompensationRelatedCostsPolicyTextBlock_z2ERp5T8hgjl" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(j)
&lt;i&gt;&lt;span id="xdx_86C_zn6bXkTxBiq5"&gt;Stock-based Compensation&lt;/span&gt;&lt;/i&gt;.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 24.5pt; background-color: white"&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: 0pt 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 recognizes compensation expense for all share-based payments in accordance with FASB Codification Topic 718, &lt;i&gt;Compensation
&#x2014; Stock Compensation&lt;/i&gt;, (ASC 718). Under the fair value recognition provisions of ASC 718, the Company recognizes share-based
compensation expense, net of an estimated forfeiture rate, over the requisite service period of the award.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 24.5pt; background-color: white"&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: 0pt 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 at grant date of stock options is estimated using the Black-Scholes option-pricing model. Compensation expense is recognized
on a straight-line basis over the stock option vesting period based on the estimated number of stock options that are expected to vest.
Shares are issued from treasury upon exercise of stock options.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 24.5pt; background-color: white"&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--ComprehensiveIncomePolicyPolicyTextBlock_zDk1v9z4Uz5j" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(k)
&lt;i&gt;&lt;span id="xdx_860_z5EomrFKkaO9"&gt;Other Comprehensive Income.&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.5in; 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: 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Other
comprehensive income refers to revenues, expenses, gains and losses that under generally accepted accounting principles are included
in comprehensive income, but are excluded from net income as these amounts are recorded directly as an adjustment to stockholders&#x2019;
equity. The Company&#x2019;s other comprehensive income is comprised only of unrealized foreign exchange gains and losses related to the
translation of subsidiaries&#x2019; functional currency into the reporting currency.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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--EarningsPerSharePolicyTextBlock_zvNo8iUXaXki" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(l)
&lt;i&gt;&lt;span id="xdx_869_zim0lqZ5XIdl"&gt;Income Per Share&lt;/span&gt;.&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Basic
earnings per share is computed by dividing income available to common stockholders by the weighted average number of common shares outstanding
in the period. Diluted earnings per share are calculated giving effect to the potential dilution of the exercise of options and warrants.
Common equivalent shares, composed of incremental common shares issuable upon the exercise of stock options and warrants are included
in diluted net income per share to the extent that these shares are dilutive. Common equivalent shares that have an anti-dilutive effect
on net income per share have been excluded from the calculation of diluted weighted average shares outstanding for the three and six
months ended June 30, 2023 and 2022.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"&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--UseOfEstimates_zcJACtrW8331" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.5in; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(m)
&lt;i&gt;&lt;span id="xdx_869_zT5ePs7SEDc3"&gt;Use of Estimates.&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"&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: 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
preparation of consolidated financial statements in conformity with accounting principles generally accepted in the United States requires
management to make estimates and assumptions that affect the reported amounts of assets and liabilities at the date of the consolidated
financial statements and the reported amounts of revenues and expenses during the reporting period. Actual results could differ from
those estimates and would impact the results of operations and cash flows.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"&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: 0pt 0; text-align: justify; text-indent: 35.45pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Estimates
and underlying assumptions are reviewed at each period end. Revisions to accounting estimates are recognized in the period in which the
estimates are revised and in any future periods affected.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"&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: 0pt 0; text-align: justify; text-indent: 35.45pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Significant
areas requiring the use of management estimates include assumptions and estimates relating to the valuation of goodwill and intangible
assets, share-based payments, valuation allowances for deferred income tax assets, determination of useful lives of property, equipment
and leaseholds and intangible assets, recoverability of accounts receivable, recoverability of investments and the valuation of inventory.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"&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; text-align: center; margin-top: 0pt; margin-bottom: 0pt"&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_845_eus-gaap--FairValueOfFinancialInstrumentsPolicy_zH5kLuMo83B" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(n)
&lt;i&gt;&lt;span id="xdx_863_zPsWmghCC2ja"&gt;Fair Value of Financial Instruments&lt;/span&gt;.&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"&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: 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Fair
value is defined as the exchange price that would be received for an asset or paid to transfer a liability (an exit price) in the principal
or most advantageous market for the asset or liability in an orderly transaction between market participants on the measurement date.
Valuation techniques used to measure fair value must maximize the use of observable inputs and minimize the use of unobservable inputs.
The standard describes a fair value hierarchy based on three levels of inputs described below, of which the first two are considered
observable and the last unobservable, that may be used to measure fair value.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0pt; margin-bottom: 0pt"&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; width: 100%; border-collapse: collapse"&gt;
  &lt;tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; width: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; width: 0.25in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#x25cf;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Level
    1 &#x2013; Quoted prices in active markets for identical assets or liabilities.&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#x25cf;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Level
    2 &#x2013; Inputs other than Level 1 that are observable, either directly or indirectly, such as quoted prices for similar assets
    or liabilities; quoted prices in markets that are not active; or other inputs that are observable or can be corroborated by observable
    market data for substantially the full term of the assets or liabilities.&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#x25cf;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Level
    3 &#x2014; Unobservable inputs that are supported by little or no market activity which is significant to the fair value of the assets
    or liabilities.&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;
&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"&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: 0pt 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 values of cash and cash equivalents, term deposits, accounts receivable, accounts payable, accrued liabilities and the short term
line of credit for all periods presented approximate their respective carrying amounts due to the short term nature of these financial
instruments.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"&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: 0pt 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 long term debt for all periods presented approximate their respective carrying amounts due to these financial instruments
being at market rates.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"&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_84D_eus-gaap--CommitmentsAndContingenciesPolicyTextBlock_zLMTXLDNma3k" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in; background-color: white"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(o)
&lt;i&gt;&lt;span id="xdx_868_zDelOyyEutx1"&gt;Contingencies&lt;/span&gt;.&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Certain
conditions may exist as of the date the consolidated financial statements are issued which may result in a loss to the Company but which
will only be resolved when one or more future events occur or fail to occur. The Company&#x2019;s management and its legal counsel assess
such contingent liabilities, and such assessment inherently involves an exercise of judgment. In assessing loss contingencies related
to legal proceedings that are pending against the Company or unasserted claims that may result in such proceedings, the Company&#x2019;s
legal counsel evaluates the perceived merits of any legal proceedings or unasserted claims as well as the perceived merits of the amount
of relief sought or expected to be sought therein.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in; background-color: white"&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: 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;If
the assessment of a contingency indicates that it is probable that a material loss has been incurred and the amount of the liability
can be estimated, the estimated liability would be accrued in the Company&#x2019;s consolidated financial statements. If the assessment
indicates that a potential material loss contingency is not probable, but is reasonably possible, or is probable but cannot be estimated,
then the nature of the contingent liability, together with an estimate of the range of possible loss if determinable and material, would
be disclosed.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Loss
contingencies considered remote are generally not disclosed unless they involve guarantees, in which case the guarantees would be disclosed.
Legal fees associated with loss contingencies are expensed as incurred. The Company is not aware of any contingencies at the date of
these consolidated financial statements.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in; background-color: white"&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_845_eus-gaap--IncomeTaxPolicyTextBlock_z61vZEOqc6jg" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in; background-color: white"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(p)
&lt;i&gt;&lt;span id="xdx_869_zcjjbub01APc"&gt;Income Taxes&lt;/span&gt;.&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in; background-color: white"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Income
taxes are computed by multiplying the Company&#x2019;s taxable net income by the Company&#x2019;s effective tax rates. Deferred income
tax assets and liabilities are recognized for the future tax consequences attributable to differences between the consolidated financial
statement carrying amounts of existing assets and liabilities and their respective tax bases, and operating loss carry-forwards, if any.
Deferred income tax assets and liabilities are measured using enacted tax rates expected to apply to taxable income in the years in which
those temporary differences are expected to be recovered or settled. The effect on deferred income tax assets and liabilities of a change
in tax rates is recognized in income in the period that includes the enactment date. A valuation allowance is provided to reduce the
carrying amount of deferred income tax assets if it is considered more likely than not that some portion, or all, of the deferred income
tax assets will not be realized.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in; background-color: white"&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: 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;In
accordance with FASB Codification Topic 740, &lt;i&gt;Income taxes&lt;/i&gt; (ASC 740) under the liability method, it is the Company&#x2019;s policy
to provide for uncertain tax positions and the related interest and penalties based upon management&#x2019;s assessment of whether a tax
benefit is more likely than not to be sustained upon examination by tax authorities. At June 30, 2023, the Company believes it has appropriately
accounted for any unrecognized tax benefits. To the extent the Company prevails in matters for which a liability for an unrecognized
benefit is established or is required to pay amounts in excess of the liability, the Company&#x2019;s effective tax rate in a given financial
statement period may be affected. Interest and penalties associated with the Company&#x2019;s tax positions are recorded as interest expense
in the consolidated statements of income and comprehensive income.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 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_849_eus-gaap--ConcentrationRiskCreditRisk_zzImRoLmQdSh" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(q)
&lt;i&gt;&lt;span id="xdx_86C_zIRepckk0Vpl"&gt;Risk Management.&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 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 credit risk is primarily attributable to its accounts receivable. The amounts presented in the accompanying consolidated
balance sheets are net of allowances for doubtful accounts, estimated by the Company&#x2019;s management based on prior experience and
the current economic environment. The Company is exposed to credit-related losses in the event of non-payment by customers. Credit exposure
is minimized by dealing with only credit worthy counterparties. Revenue for the Company&#x2019;s three primary customers totaled $&lt;span id="xdx_90D_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20230630__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember_zan1OLXvvS74" title="Sales"&gt;10,681,892&lt;/span&gt;
(&lt;span id="xdx_90A_ecustom--ConcentrationRiskThresholdPercentage_pid_dp_uPure_c20230101__20230630__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerMember_zQWA5VX7dR9h" title="Accounts receivable, after allowance for credit loss"&gt;53&lt;/span&gt;%) for the six months ended June 30, 2023 (2022 - $&lt;span id="xdx_90E_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20220630__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember_z5fdje7AYUl1" title="Sales"&gt;11,597,726&lt;/span&gt; or &lt;span id="xdx_900_ecustom--ConcentrationRiskThresholdPercentage_pid_dp_uPure_c20220101__20220630__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerMember_zQxu9q6B7RRc" title="Accounts receivable, after allowance for credit loss"&gt;53&lt;/span&gt;%) and $&lt;span id="xdx_90F_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230401__20230630__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember_zilfrplLbbUk" title="Sales"&gt;5,172,025&#160;&lt;/span&gt;(&lt;span id="xdx_90A_ecustom--ConcentrationRiskThresholdPercentage_pid_dp_uPure_c20230401__20230630__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerMember_z6KdwLyJIrLh" title="Accounts receivable, after allowance for credit loss"&gt;50&lt;/span&gt;%) for the three months ended June 30, 2023
(2022 - $&lt;span id="xdx_909_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220401__20220630__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember_zk6ZdnpA6rY7" title="Sales"&gt;5,889,266&lt;/span&gt; or &lt;span id="xdx_901_ecustom--ConcentrationRiskThresholdPercentage_pid_dp_uPure_c20220401__20220630__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerMember_zvbW80WC8G9f" title="Accounts receivable, after allowance for credit loss"&gt;53&lt;/span&gt;%). Accounts receivable for the Company&#x2019;s three primary customers for the six months ended June 30, 2023
totaled $&lt;span id="xdx_90B_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20230630__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember_zt5dYTwCWpP8" title="Sale"&gt;3,277,945&lt;/span&gt; or &lt;span id="xdx_900_ecustom--ConcentrationRiskThresholdPercentage_pid_dp_uPure_c20230101__20230630__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember_zizkdawPqjmi" title="Accounts receivable, after allowance for credit loss, percentage"&gt;44&lt;/span&gt;% (2022 - $&lt;span id="xdx_902_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20220101__20220630__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember_zrCs1sJie0u5" title="Sale"&gt;2,409,089&lt;/span&gt; or &lt;span id="xdx_90A_ecustom--ConcentrationRiskThresholdPercentage_pid_dp_uPure_c20220101__20220630__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember_zP4QXcn2jBpk" title="Accounts receivable, after allowance for credit loss, percentage"&gt;36&lt;/span&gt;%). Accounts receivable for the Company&#x2019;s three primary customers for the three
months ended June 30, 2023 totaled $&lt;span id="xdx_90A_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230401__20230630__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember_zvo88YT9n86c" title="Sale"&gt;4,172,657&lt;/span&gt; or &lt;span id="xdx_90E_ecustom--ConcentrationRiskThresholdPercentage_pid_dp_uPure_c20230401__20230630__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember_zbSli9gisF5f" title="Accounts receivable, after allowance for credit loss, percentage"&gt;56&lt;/span&gt;% (2022 - $&lt;span id="xdx_906_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220401__20220630__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember_z9N9wapayLA6" title="Sale"&gt;2,409,089&lt;/span&gt; or &lt;span id="xdx_90A_ecustom--ConcentrationRiskThresholdPercentage_pid_dp_uPure_c20220401__20220630__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember_z2GGyioJVXV3" title="Accounts receivable, after allowance for credit loss, percentage"&gt;36&lt;/span&gt;%; December 31, 2022 - $&lt;span id="xdx_902_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember_zldvJJL7azt3" title="Sale"&gt;6,124,424&lt;/span&gt; or &lt;span id="xdx_90B_ecustom--ConcentrationRiskThresholdPercentage_pid_dp_uPure_c20220101__20221231__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember_zmZvKWR1Uqh9" title="Accounts receivable, after allowance for credit loss, percentage"&gt;65&lt;/span&gt;%).&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
credit risk on cash is limited because the Company limits its exposure to credit loss by placing its cash with major financial institutions.
The Company maintains cash balances at financial institutions which at times exceed federally insured amounts. The Company has not experienced
any losses in such accounts.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 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 exposed to foreign exchange and interest rate risk to the extent that market value rate fluctuations materially differ from
financial assets and liabilities, subject to fixed long-term rates.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 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 manage its exposure to foreign exchange risks, the Company is closely monitoring the fluctuations in the foreign currency exchange
rates and the impact on the value of cash, accounts receivable, and accounts payable and accrued liabilities. The Company has not hedged
its exposure to currency fluctuations.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 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 exposed to interest rate risk to the extent that the fair value or future cash flows for financial liabilities will fluctuate
as a result of changes in market interest rates. The Company is exposed to interest rate risk on its long-term debt.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 24.5pt"&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: 0pt 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 manage its exposure to interest rate risk, the Company is closely monitoring fluctuations in market interest risks and will
refinance its long-term debt where possible to obtain more favourable rates.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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--EquityMethodInvestmentsPolicy_zLUSETl658Ee" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(r)
&lt;i&gt;&lt;span id="xdx_861_zgKptDXSxFK"&gt;Equity Method Investment.&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 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 accounts for investments using the equity method of accounting if the investment provides the Company the ability to exercise
significant influence, but not control, over the investee. &lt;span id="xdx_900_eus-gaap--EquityMethodInvestmentDescriptionOfPrincipalActivities_c20230101__20230630__srt--ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis__custom--InvestmentMember_zsVaZZxQbI3f" title="Equity method investment, description"&gt;Significant influence is generally deemed to exist if the Company&#x2019;s
ownership interest in the voting stock of the investee ranges between 20% and 50%, although other factors, such as representation on
the investee&#x2019;s board of directors, are considered in determining whether the equity method of accounting is appropriate&lt;/span&gt;. Under
the equity method of accounting, the investment is initially recorded at cost in the consolidated balance sheets under other assets and
adjusted for dividends received and the Company&#x2019;s share of the investee&#x2019;s earnings or losses together with other-than-temporary
impairments which are recorded through other income (loss), net in the consolidated statements of income and comprehensive income.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 24.5pt; background-color: white"&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_848_eus-gaap--GoodwillAndIntangibleAssetsPolicyTextBlock_zrNQ6pSPkCh8" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(s)
&lt;i&gt;&lt;span id="xdx_869_zKzXQcq1Vgzd"&gt;Goodwill and Intangible Assets&lt;/span&gt;.&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Goodwill
represents the excess of the purchase price of an acquired entity over the amounts assigned to the assets acquired and liabilities assumed.
Goodwill is not amortized, but is reviewed for impairment annually or more frequently if certain impairment conditions arise. The Company
performs an annual goodwill impairment review in the fourth quarter of each year at the reporting unit level. The evaluation begins with
a qualitative assessment of the factors that could impact the significant inputs used to estimate fair value. If after performing the
qualitative assessment, it is determined that it is more likely than not that the fair value of a reporting unit is greater than its
carrying amount, including goodwill, then no further analysis is necessary. However, if the results of the qualitative test are unclear,
the Company performs a quantitative test, which involves comparing the fair value of a reporting unit with its carrying amount, including
goodwill. The Company uses an income-based valuation method, determining the present value of future cash flows, to estimate the fair
value of a reporting unit. If the fair value of a reporting unit exceeds its carrying amount, goodwill of the reporting unit is considered
not impaired, and no further analysis is necessary. If the fair value of the reporting unit is less than its carrying amount, goodwill
impairment would be recognized equal to the amount of the carrying value in excess of the reporting unit&#x2019;s fair value, limited
to the total amount of goodwill allocated to the reporting unit.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 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: 0pt 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 primarily include trademarks and trade secrets with indefinite lives and customer-relationships with finite lives. Intangible
assets with indefinite lives are not amortized but are tested for impairment on an annual basis, or more frequently if indicators of
impairment are present. Indefinite lived intangible assets are assessed using either a qualitative or a quantitative approach. The qualitative
assessment evaluates factors including macro-economic conditions, industry and company-specific factors, legal and regulatory environments,
and historical company performance in assessing fair value. If it is determined that it is more likely than not that the fair value of
the intangible asset is less than its carrying value, a quantitative test is then performed. Otherwise, no further testing is required.
When using a quantitative approach, the Company compares the fair value of the intangible asset to its carrying amount. If the estimated
fair value of the intangible asset is less than the carrying amount of the intangible asset, impairment is indicated, requiring recognition
of an impairment charge for the differential.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;In
accordance with FASB Codification Topic 350, &lt;i&gt;Intangibles &#x2013; Goodwill and Other, &lt;/i&gt;(ASC 350), qualitative assessments of goodwill
and indefinite-lived intangible assets were performed at December 31, 2022. Based on the results of the assessment, it was determined
that it is more likely than not the reporting unit, customer lists and trademarks had a fair value in excess of their carrying amounts.
Accordingly, no further impairment testing was completed and no impairment charges related to goodwill or indefinite-lived intangibles
were recognized during the three or six months ended June 30, 2023.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Finite-lived
intangible assets are amortized on a straight-line basis over their estimated useful lives. The Company reviews for impairment indicators
of finite-lived intangibles and other long-lived assets as described in the &#x201c;Impairment of Long Lived Assets&#x201d; significant
accounting policy.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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--NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock_zV4jkrQPosRb" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 24.5pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(t)
&lt;i&gt;&lt;span id="xdx_86F_zn002KrZiInj"&gt;Recent Accounting Pronouncements.&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 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 implemented all applicable new accounting pronouncements that are in effect. Those pronouncements did not have any material
impact on the consolidated financial statements unless otherwise disclosed, and the Company does not believe that there are any other
new accounting pronouncements that have been issued that might have a material impact on its financial position or results of operations.&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_85B_zN0xFaoYaEWf" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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:SignificantAccountingPoliciesTextBlock>
    <us-gaap:CashAndCashEquivalentsPolicyTextBlock contextRef="From2023-01-01to2023-06-30">&lt;p id="xdx_842_eus-gaap--CashAndCashEquivalentsPolicyTextBlock_zicM2NylsROb" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(a)
&lt;i&gt;&lt;span id="xdx_86D_zMrmZPxeghyd"&gt;Cash and Cash Equivalents&lt;/span&gt;&lt;/i&gt;.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 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 considers all highly liquid investments purchased with an original or remaining maturity of less than three months at the date
of purchase to be cash equivalents. Cash and cash equivalents are maintained with several financial institutions.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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>
    <FSI:TermDepositsPolicyTextBlock contextRef="From2023-01-01to2023-06-30">&lt;p id="xdx_84E_ecustom--TermDepositsPolicyTextBlock_zjbKP8uY4eng" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(b)
&lt;i&gt;&lt;span id="xdx_865_zmJ6QuodZ3S5"&gt;Term Deposits&lt;/span&gt;.&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
deposits maintained by the Company with banks comprises term deposits. The Company has two term deposits, the first for $&lt;span id="xdx_904_eus-gaap--Deposits_iI_c20230630_zkqkytE7m8Ce" title="Deposit"&gt;700,000&lt;/span&gt; that
matures in 2023 and pays interest at a rate of &lt;span id="xdx_90A_eus-gaap--PercentageOfInterestBearingDomesticDepositsToDepositsTimeDeposits_iI_pid_dp_uPure_c20230630_zFSqni8Ckcm" title="Term deposits percent"&gt;8.25&lt;/span&gt;%. If withdrawn before maturity, the greater of the loss of accrued interest or $&lt;span id="xdx_90D_eus-gaap--InterestPayableCurrentAndNoncurrent_iI_c20230630_z8sLaxM5cSig" title="Accured interest"&gt;150&lt;/span&gt;,
plus 1% of the principal shall be levied. The second term deposit for $&lt;span id="xdx_902_ecustom--OtherTermDeposit_iI_c20230630_zU62d90BQ9Fj" title="Other term deposit"&gt;300,000&lt;/span&gt; pays 1.3% interest, matures in 2023 and can be withdrawn
by the Company at any point without prior notice or penalty on the principal.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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;

</FSI:TermDepositsPolicyTextBlock>
    <us-gaap:Deposits contextRef="AsOf2023-06-30" decimals="0" unitRef="USD">700000</us-gaap:Deposits>
    <us-gaap:PercentageOfInterestBearingDomesticDepositsToDepositsTimeDeposits contextRef="AsOf2023-06-30" decimals="INF" unitRef="Pure">0.0825</us-gaap:PercentageOfInterestBearingDomesticDepositsToDepositsTimeDeposits>
    <us-gaap:InterestPayableCurrentAndNoncurrent contextRef="AsOf2023-06-30" decimals="0" unitRef="USD">150</us-gaap:InterestPayableCurrentAndNoncurrent>
    <FSI:OtherTermDeposit contextRef="AsOf2023-06-30" decimals="0" unitRef="USD">300000</FSI:OtherTermDeposit>
    <us-gaap:InventoryPolicyTextBlock contextRef="From2023-01-01to2023-06-30">&lt;p id="xdx_84C_eus-gaap--InventoryPolicyTextBlock_zpblHmJSuGpk" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(c)
&lt;i&gt;&lt;span id="xdx_864_ztrwkG422oTe"&gt;Inventories and Cost of Sales.&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 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 three major classes of inventory: completed goods, work in progress and raw materials and supplies. In all classes inventories
are stated at the lower of cost and net realizable value. Cost is determined on a first-in, first-out basis or weighted average cost
formula to inventories in different subsidiaries. Cost of sales includes all expenditures incurred in bringing the goods to the point
of sale. Inventory costs and costs of sales include direct costs of the raw material, inbound freight charges, warehousing costs, handling
costs (receiving and purchasing) and utilities and overhead expenses related to the Company&#x2019;s manufacturing and processing facilities.
Shipping and handling charges billed to customers are included in revenue (2023 - $&lt;span id="xdx_906_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20230630__srt--ProductOrServiceAxis__us-gaap--ShippingAndHandlingMember_zyTno39YuTAf" title="Sales"&gt;286,290&lt;/span&gt;; 2022 - $&lt;span id="xdx_90A_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20220630__srt--ProductOrServiceAxis__us-gaap--ShippingAndHandlingMember_zlEPAGPnoS4k" title="Sales"&gt;231,106&lt;/span&gt;). Shipping and handling costs
incurred are included in cost of goods sold (2023 - $&lt;span id="xdx_904_eus-gaap--CostOfGoodsAndServicesSold_pp0p0_c20230101__20230630__srt--ProductOrServiceAxis__us-gaap--ShippingAndHandlingMember_zKm6msWmGYra" title="Cost of sales"&gt;542,321&lt;/span&gt;; 2022 - $&lt;span id="xdx_904_eus-gaap--CostOfGoodsAndServicesSold_pp0p0_c20220101__20220630__srt--ProductOrServiceAxis__us-gaap--ShippingAndHandlingMember_zxZOOAkukJS9" title="Cost of sales"&gt;580,697&lt;/span&gt;).&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"&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:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2023-01-012023-06-30_us-gaap_ShippingAndHandlingMember"
      decimals="0"
      unitRef="USD">286290</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2022-01-012022-06-30_us-gaap_ShippingAndHandlingMember"
      decimals="0"
      unitRef="USD">231106</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="From2023-01-012023-06-30_us-gaap_ShippingAndHandlingMember"
      decimals="0"
      unitRef="USD">542321</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="From2022-01-012022-06-30_us-gaap_ShippingAndHandlingMember"
      decimals="0"
      unitRef="USD">580697</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:PremiumsReceivableAllowanceForDoubtfulAccountsEstimationMethodologyPolicy contextRef="From2023-01-01to2023-06-30">&lt;p id="xdx_84D_eus-gaap--PremiumsReceivableAllowanceForDoubtfulAccountsEstimationMethodologyPolicy_zdssy62Wwhe5" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(d)
&lt;i&gt;&lt;span id="xdx_869_zhai0jNlTp2g"&gt;Allowance for Doubtful Accounts.&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 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 provides an allowance for doubtful accounts when management estimates collectability to be uncertain. Accounts receivable are
continually reviewed to determine which, if any, accounts are doubtful of collection. In making the determination of the appropriate
allowance amount, the Company considers current economic and industry conditions, relationships with each significant customer, overall
customer credit-worthiness and historical experience.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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:PremiumsReceivableAllowanceForDoubtfulAccountsEstimationMethodologyPolicy>
    <us-gaap:PropertyPlantAndEquipmentPolicyTextBlock contextRef="From2023-01-01to2023-06-30">&lt;p id="xdx_843_eus-gaap--PropertyPlantAndEquipmentPolicyTextBlock_z5EGEbnXvXyl" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(e)
&lt;i&gt;&lt;span id="xdx_867_zof3ODUmIhkd"&gt;Property, Equipment, Leaseholds and Intangible Assets&lt;/span&gt;.&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"&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_ecustom--ScheduleOfMethodOfDepreciationTableTextBlock_zIliTOh5Ygle" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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 assets are recorded at cost and depreciated using the methods and annual rates shown below:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;span id="xdx_8B4_z11MQ97gvW02" style="display: none; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;SCHEDULE
OF METHOD OF DEPRECIATION&lt;/span&gt;&lt;/span&gt;&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; width: 100%; border-collapse: collapse"&gt;
  &lt;tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"&gt;
    &lt;td style="width: 10%"&gt;&#160;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; width: 40%"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Computer
    hardware&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; width: 2%"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; width: 48%"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_907_ecustom--DepreciationMethodUsedAndAnnualRate_c20230101__20230630__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--ComputerEquipmentMember_zzenDHYhcKT9" title="Depreciation method used and annual rate"&gt;30%
    Declining balance&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Manufacturing
    equipment&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_909_ecustom--DepreciationMethodUsedAndAnnualRate_c20230101__20230630__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--MachineryAndEquipmentMember_zHhhXvUgBhEd" title="Depreciation method used and annual rate"&gt;20%
    Declining balance&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Office
    equipment&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_902_ecustom--DepreciationMethodUsedAndAnnualRate_c20230101__20230630__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--OfficeEquipmentMember_zTzepZMin8gj" title="Depreciation method used and annual rate"&gt;20%
    Declining balance&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Boat&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_908_ecustom--DepreciationMethodUsedAndAnnualRate_c20230101__20230630__us-gaap--PropertyPlantAndEquipmentByTypeAxis__custom--BoatMember_zbY0Kquh1Pue" title="Depreciation method used and annual rate"&gt;20%
    Declining balance&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Building
    and improvements&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_902_ecustom--DepreciationMethodUsedAndAnnualRate_c20230101__20230630__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--BuildingAndBuildingImprovementsMember_zKSxdAAV8Hdj" title="Depreciation method used and annual rate"&gt;10%
    Declining balance&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Trailer&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_902_ecustom--DepreciationMethodUsedAndAnnualRate_c20230101__20230630__us-gaap--PropertyPlantAndEquipmentByTypeAxis__custom--TrailerMember_zMtKVexsDpOc" title="Depreciation method used and annual rate"&gt;30%
    Declining balance&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Automobiles&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_90E_ecustom--DepreciationMethodUsedAndAnnualRate_c20230101__20230630__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--AutomobilesMember_ziFvXYKfETj1" title="Depreciation method used and annual rate"&gt;Straight-line
    over 5 years&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Patents&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_907_ecustom--DepreciationMethodUsedAndAnnualRate_c20230101__20230630__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--PatentsMember_z3p0DvDLQby6" title="Depreciation method used and annual rate"&gt;Straight-line
    over 17 years&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Technology&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_907_ecustom--DepreciationMethodUsedAndAnnualRate_c20230101__20230630__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--TechnologyEquipmentMember_zoVne9r8J25l" title="Depreciation method used and annual rate"&gt;Straight-line
    over 10 years&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Leasehold
    improvements&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_90B_ecustom--DepreciationMethodUsedAndAnnualRate_c20230101__20230630__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--LeaseholdImprovementsMember_z9pVdLIoLHca" title="Depreciation method used and annual rate"&gt;Straight-line
    over lease term&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Customer
    relationships &lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_90F_ecustom--DepreciationMethodUsedAndAnnualRate_c20230101__20230630__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--CustomerRelationshipsMember_z0BOVEoyXCHd" title="Depreciation method used and annual rate"&gt;Straight-line
    over 15 years&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Software
    &lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_90D_ecustom--DepreciationMethodUsedAndAnnualRate_c20230101__20230630__us-gaap--PropertyPlantAndEquipmentByTypeAxis__custom--SoftwareMember_zDcmxHehpbL9" title="Depreciation method used and annual rate"&gt;Straight-line
    over 3 years&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;
&lt;p id="xdx_8A0_zSsBvSa3h8bh" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"&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; text-align: center; margin-top: 0pt; margin-bottom: 0pt"&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>
    <FSI:ScheduleOfMethodOfDepreciationTableTextBlock contextRef="From2023-01-01to2023-06-30">&lt;p id="xdx_898_ecustom--ScheduleOfMethodOfDepreciationTableTextBlock_zIliTOh5Ygle" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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 assets are recorded at cost and depreciated using the methods and annual rates shown below:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;span id="xdx_8B4_z11MQ97gvW02" style="display: none; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;SCHEDULE
OF METHOD OF DEPRECIATION&lt;/span&gt;&lt;/span&gt;&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; width: 100%; border-collapse: collapse"&gt;
  &lt;tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"&gt;
    &lt;td style="width: 10%"&gt;&#160;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; width: 40%"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Computer
    hardware&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; width: 2%"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; width: 48%"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_907_ecustom--DepreciationMethodUsedAndAnnualRate_c20230101__20230630__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--ComputerEquipmentMember_zzenDHYhcKT9" title="Depreciation method used and annual rate"&gt;30%
    Declining balance&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Manufacturing
    equipment&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_909_ecustom--DepreciationMethodUsedAndAnnualRate_c20230101__20230630__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--MachineryAndEquipmentMember_zHhhXvUgBhEd" title="Depreciation method used and annual rate"&gt;20%
    Declining balance&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Office
    equipment&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_902_ecustom--DepreciationMethodUsedAndAnnualRate_c20230101__20230630__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--OfficeEquipmentMember_zTzepZMin8gj" title="Depreciation method used and annual rate"&gt;20%
    Declining balance&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Boat&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_908_ecustom--DepreciationMethodUsedAndAnnualRate_c20230101__20230630__us-gaap--PropertyPlantAndEquipmentByTypeAxis__custom--BoatMember_zbY0Kquh1Pue" title="Depreciation method used and annual rate"&gt;20%
    Declining balance&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Building
    and improvements&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_902_ecustom--DepreciationMethodUsedAndAnnualRate_c20230101__20230630__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--BuildingAndBuildingImprovementsMember_zKSxdAAV8Hdj" title="Depreciation method used and annual rate"&gt;10%
    Declining balance&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Trailer&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_902_ecustom--DepreciationMethodUsedAndAnnualRate_c20230101__20230630__us-gaap--PropertyPlantAndEquipmentByTypeAxis__custom--TrailerMember_zMtKVexsDpOc" title="Depreciation method used and annual rate"&gt;30%
    Declining balance&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Automobiles&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_90E_ecustom--DepreciationMethodUsedAndAnnualRate_c20230101__20230630__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--AutomobilesMember_ziFvXYKfETj1" title="Depreciation method used and annual rate"&gt;Straight-line
    over 5 years&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Patents&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_907_ecustom--DepreciationMethodUsedAndAnnualRate_c20230101__20230630__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--PatentsMember_z3p0DvDLQby6" title="Depreciation method used and annual rate"&gt;Straight-line
    over 17 years&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Technology&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_907_ecustom--DepreciationMethodUsedAndAnnualRate_c20230101__20230630__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--TechnologyEquipmentMember_zoVne9r8J25l" title="Depreciation method used and annual rate"&gt;Straight-line
    over 10 years&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Leasehold
    improvements&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_90B_ecustom--DepreciationMethodUsedAndAnnualRate_c20230101__20230630__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--LeaseholdImprovementsMember_z9pVdLIoLHca" title="Depreciation method used and annual rate"&gt;Straight-line
    over lease term&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Customer
    relationships &lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_90F_ecustom--DepreciationMethodUsedAndAnnualRate_c20230101__20230630__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--CustomerRelationshipsMember_z0BOVEoyXCHd" title="Depreciation method used and annual rate"&gt;Straight-line
    over 15 years&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Software
    &lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_90D_ecustom--DepreciationMethodUsedAndAnnualRate_c20230101__20230630__us-gaap--PropertyPlantAndEquipmentByTypeAxis__custom--SoftwareMember_zDcmxHehpbL9" title="Depreciation method used and annual rate"&gt;Straight-line
    over 3 years&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;
</FSI:ScheduleOfMethodOfDepreciationTableTextBlock>
    <FSI:DepreciationMethodUsedAndAnnualRate contextRef="From2023-01-012023-06-30_us-gaap_ComputerEquipmentMember">30%
    Declining balance</FSI:DepreciationMethodUsedAndAnnualRate>
    <FSI:DepreciationMethodUsedAndAnnualRate contextRef="From2023-01-012023-06-30_us-gaap_MachineryAndEquipmentMember">20%
    Declining balance</FSI:DepreciationMethodUsedAndAnnualRate>
    <FSI:DepreciationMethodUsedAndAnnualRate contextRef="From2023-01-012023-06-30_us-gaap_OfficeEquipmentMember">20%
    Declining balance</FSI:DepreciationMethodUsedAndAnnualRate>
    <FSI:DepreciationMethodUsedAndAnnualRate contextRef="From2023-01-012023-06-30_custom_BoatMember">20%
    Declining balance</FSI:DepreciationMethodUsedAndAnnualRate>
    <FSI:DepreciationMethodUsedAndAnnualRate contextRef="From2023-01-012023-06-30_us-gaap_BuildingAndBuildingImprovementsMember">10%
    Declining balance</FSI:DepreciationMethodUsedAndAnnualRate>
    <FSI:DepreciationMethodUsedAndAnnualRate contextRef="From2023-01-012023-06-30_custom_TrailerMember">30%
    Declining balance</FSI:DepreciationMethodUsedAndAnnualRate>
    <FSI:DepreciationMethodUsedAndAnnualRate contextRef="From2023-01-012023-06-30_us-gaap_AutomobilesMember">Straight-line
    over 5 years</FSI:DepreciationMethodUsedAndAnnualRate>
    <FSI:DepreciationMethodUsedAndAnnualRate contextRef="From2023-01-012023-06-30_us-gaap_PatentsMember">Straight-line
    over 17 years</FSI:DepreciationMethodUsedAndAnnualRate>
    <FSI:DepreciationMethodUsedAndAnnualRate contextRef="From2023-01-012023-06-30_us-gaap_TechnologyEquipmentMember">Straight-line
    over 10 years</FSI:DepreciationMethodUsedAndAnnualRate>
    <FSI:DepreciationMethodUsedAndAnnualRate contextRef="From2023-01-012023-06-30_us-gaap_LeaseholdImprovementsMember">Straight-line
    over lease term</FSI:DepreciationMethodUsedAndAnnualRate>
    <FSI:DepreciationMethodUsedAndAnnualRate contextRef="From2023-01-012023-06-30_us-gaap_CustomerRelationshipsMember">Straight-line
    over 15 years</FSI:DepreciationMethodUsedAndAnnualRate>
    <FSI:DepreciationMethodUsedAndAnnualRate contextRef="From2023-01-012023-06-30_custom_SoftwareMember">Straight-line
    over 3 years</FSI:DepreciationMethodUsedAndAnnualRate>
    <us-gaap:ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock contextRef="From2023-01-01to2023-06-30">&lt;p id="xdx_843_eus-gaap--ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock_zPRp3higDPWf" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(f)
&lt;i&gt;&lt;span id="xdx_861_zj2qqQc3X2Jf"&gt;Impairment of Long-Lived Assets&lt;/span&gt;&lt;/i&gt;.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"&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: 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;In
accordance with FASB Codification Topic 360, &lt;i&gt;Property, Plant and Equipment&lt;/i&gt; (ASC 360), the Company reviews long-lived assets, including,
but not limited to, property, equipment and leaseholds, patents and other assets, for impairment annually or whenever events or changes
in circumstances indicate the carrying amounts of assets may not be recoverable. The carrying value of long-lived assets is assessed
for impairment by evaluating operating performance and future undiscounted cash flows of the underlying assets. If the expected future
cash flows of an asset is less than its carrying value, an impairment measurement is indicated. Impairment charges are recorded to the
extent that an asset&#x2019;s carrying value exceeds its fair value. Accordingly, actual results could vary significantly from such estimates.
There were no impairment charges during the periods presented.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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:ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock>
    <us-gaap:ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock contextRef="From2023-01-01to2023-06-30">&lt;p id="xdx_847_eus-gaap--ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock_zBpveqFDNBP7" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(g)
&lt;i&gt;&lt;span id="xdx_860_zCUfYVAKciR8"&gt;Foreign Currency&lt;/span&gt;&lt;/i&gt;.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
functional currency of the Company is the U.S. dollar. The functional currency of three of the Company&#x2019;s subsidiaries is the Canadian
dollar. The translation of the Canadian dollar to the reporting currency of the Company, the U.S. dollar, is performed for assets and
liabilities using exchange rates in effect at the balance sheet date. Revenue and expense transactions are translated using average exchange
rates prevailing during the year. Translation adjustments arising on conversion of the Company&#x2019;s financial statements from the
subsidiary&#x2019;s functional currency, Canadian dollars, into the reporting currency, U.S. dollars, are excluded from the determination
of income (loss) and are disclosed as other comprehensive income in the consolidated statements of income and comprehensive income.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Foreign
exchange gains and losses relating to transactions not denominated in the applicable local currency are included in operating income
(loss) if realized during the year and in comprehensive income (loss) if they remain unrealized at the end of the year.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.5in; 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:ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock>
    <us-gaap:RevenueFromContractWithCustomerPolicyTextBlock contextRef="From2023-01-01to2023-06-30">&lt;p id="xdx_840_eus-gaap--RevenueFromContractWithCustomerPolicyTextBlock_zFz0R1K6izM" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.5in; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(h)
&lt;i&gt;&lt;span id="xdx_862_z7NhCdkq84Hi"&gt;Revenue Recognition.&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in; background-color: white"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company generates revenue primarily from energy and water conservation products and biodegradable polymers, as further discussed in Note
16.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 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 follows a five-step model for revenue recognition. The five steps are: (1) identification of the contract(s) with the customer,
(2) identification of the performance obligation(s) in the contract(s), (3) determination of the transaction price, (4) allocation of
the transaction price to the performance obligation, and (5) recognition of revenue when (or as) the performance obligation is satisfied.
The Company has fulfilled its performance obligations when control transfers to the customer, which is generally at the time the product
is shipped since risk of loss is transferred to the purchaser upon delivery to the carrier. For shipments which are free-on-board shipping
point, the Company has elected to account for shipping and handling activities as a fulfillment cost rather than as an additional promised
service and performance obligation.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Since
the Company&#x2019;s inception, product returns have been insignificant; therefore, no provision has been established for estimated product
returns.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 1in"&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: 0pt 0; text-align: justify; text-indent: 0.5in; background-color: white"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Deferred
revenues consist of products sold to distributors with payment terms greater than the Company&#x2019;s customary business terms due to
lack of credit history or operating in a new market in which the Company has no prior experience. The Company defers the recognition
of revenue until the criteria for revenue recognition has been met and payments become due or cash is received from these distributors.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 1in"&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: 0pt 0"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

</us-gaap:RevenueFromContractWithCustomerPolicyTextBlock>
    <FSI:StockIssuedInExchangeForServicesPolicyTextBlock contextRef="From2023-01-01to2023-06-30">&lt;p id="xdx_848_ecustom--StockIssuedInExchangeForServicesPolicyTextBlock_zCmWsGLmNvY" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(i)
&lt;i&gt;&lt;span id="xdx_86D_zH563OXQ0iJ4"&gt;Stock Issued in Exchange for Services&lt;/span&gt;&lt;/i&gt;.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 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 common stock issued in exchange for services is valued at estimated fair market value based upon trading prices of the
Company&#x2019;s common stock on the dates of the stock transactions. The corresponding expense of the services rendered is recognized
over the period that the services are performed.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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;

</FSI:StockIssuedInExchangeForServicesPolicyTextBlock>
    <us-gaap:CompensationRelatedCostsPolicyTextBlock contextRef="From2023-01-01to2023-06-30">&lt;p id="xdx_84F_eus-gaap--CompensationRelatedCostsPolicyTextBlock_z2ERp5T8hgjl" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(j)
&lt;i&gt;&lt;span id="xdx_86C_zn6bXkTxBiq5"&gt;Stock-based Compensation&lt;/span&gt;&lt;/i&gt;.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 24.5pt; background-color: white"&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: 0pt 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 recognizes compensation expense for all share-based payments in accordance with FASB Codification Topic 718, &lt;i&gt;Compensation
&#x2014; Stock Compensation&lt;/i&gt;, (ASC 718). Under the fair value recognition provisions of ASC 718, the Company recognizes share-based
compensation expense, net of an estimated forfeiture rate, over the requisite service period of the award.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 24.5pt; background-color: white"&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: 0pt 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 at grant date of stock options is estimated using the Black-Scholes option-pricing model. Compensation expense is recognized
on a straight-line basis over the stock option vesting period based on the estimated number of stock options that are expected to vest.
Shares are issued from treasury upon exercise of stock options.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 24.5pt; background-color: white"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

</us-gaap:CompensationRelatedCostsPolicyTextBlock>
    <us-gaap:ComprehensiveIncomePolicyPolicyTextBlock contextRef="From2023-01-01to2023-06-30">&lt;p id="xdx_84C_eus-gaap--ComprehensiveIncomePolicyPolicyTextBlock_zDk1v9z4Uz5j" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(k)
&lt;i&gt;&lt;span id="xdx_860_z5EomrFKkaO9"&gt;Other Comprehensive Income.&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.5in; 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: 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Other
comprehensive income refers to revenues, expenses, gains and losses that under generally accepted accounting principles are included
in comprehensive income, but are excluded from net income as these amounts are recorded directly as an adjustment to stockholders&#x2019;
equity. The Company&#x2019;s other comprehensive income is comprised only of unrealized foreign exchange gains and losses related to the
translation of subsidiaries&#x2019; functional currency into the reporting currency.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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:ComprehensiveIncomePolicyPolicyTextBlock>
    <us-gaap:EarningsPerSharePolicyTextBlock contextRef="From2023-01-01to2023-06-30">&lt;p id="xdx_846_eus-gaap--EarningsPerSharePolicyTextBlock_zvNo8iUXaXki" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(l)
&lt;i&gt;&lt;span id="xdx_869_zim0lqZ5XIdl"&gt;Income Per Share&lt;/span&gt;.&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Basic
earnings per share is computed by dividing income available to common stockholders by the weighted average number of common shares outstanding
in the period. Diluted earnings per share are calculated giving effect to the potential dilution of the exercise of options and warrants.
Common equivalent shares, composed of incremental common shares issuable upon the exercise of stock options and warrants are included
in diluted net income per share to the extent that these shares are dilutive. Common equivalent shares that have an anti-dilutive effect
on net income per share have been excluded from the calculation of diluted weighted average shares outstanding for the three and six
months ended June 30, 2023 and 2022.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"&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:UseOfEstimates contextRef="From2023-01-01to2023-06-30">&lt;p id="xdx_849_eus-gaap--UseOfEstimates_zcJACtrW8331" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.5in; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(m)
&lt;i&gt;&lt;span id="xdx_869_zT5ePs7SEDc3"&gt;Use of Estimates.&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"&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: 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
preparation of consolidated financial statements in conformity with accounting principles generally accepted in the United States requires
management to make estimates and assumptions that affect the reported amounts of assets and liabilities at the date of the consolidated
financial statements and the reported amounts of revenues and expenses during the reporting period. Actual results could differ from
those estimates and would impact the results of operations and cash flows.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"&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: 0pt 0; text-align: justify; text-indent: 35.45pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Estimates
and underlying assumptions are reviewed at each period end. Revisions to accounting estimates are recognized in the period in which the
estimates are revised and in any future periods affected.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"&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: 0pt 0; text-align: justify; text-indent: 35.45pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Significant
areas requiring the use of management estimates include assumptions and estimates relating to the valuation of goodwill and intangible
assets, share-based payments, valuation allowances for deferred income tax assets, determination of useful lives of property, equipment
and leaseholds and intangible assets, recoverability of accounts receivable, recoverability of investments and the valuation of inventory.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"&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; text-align: center; margin-top: 0pt; margin-bottom: 0pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

</us-gaap:UseOfEstimates>
    <us-gaap:FairValueOfFinancialInstrumentsPolicy contextRef="From2023-01-01to2023-06-30">&lt;p id="xdx_845_eus-gaap--FairValueOfFinancialInstrumentsPolicy_zH5kLuMo83B" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(n)
&lt;i&gt;&lt;span id="xdx_863_zPsWmghCC2ja"&gt;Fair Value of Financial Instruments&lt;/span&gt;.&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"&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: 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Fair
value is defined as the exchange price that would be received for an asset or paid to transfer a liability (an exit price) in the principal
or most advantageous market for the asset or liability in an orderly transaction between market participants on the measurement date.
Valuation techniques used to measure fair value must maximize the use of observable inputs and minimize the use of unobservable inputs.
The standard describes a fair value hierarchy based on three levels of inputs described below, of which the first two are considered
observable and the last unobservable, that may be used to measure fair value.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0pt; margin-bottom: 0pt"&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; width: 100%; border-collapse: collapse"&gt;
  &lt;tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; width: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; width: 0.25in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#x25cf;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Level
    1 &#x2013; Quoted prices in active markets for identical assets or liabilities.&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#x25cf;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Level
    2 &#x2013; Inputs other than Level 1 that are observable, either directly or indirectly, such as quoted prices for similar assets
    or liabilities; quoted prices in markets that are not active; or other inputs that are observable or can be corroborated by observable
    market data for substantially the full term of the assets or liabilities.&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#x25cf;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Level
    3 &#x2014; Unobservable inputs that are supported by little or no market activity which is significant to the fair value of the assets
    or liabilities.&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;
&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"&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: 0pt 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 values of cash and cash equivalents, term deposits, accounts receivable, accounts payable, accrued liabilities and the short term
line of credit for all periods presented approximate their respective carrying amounts due to the short term nature of these financial
instruments.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"&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: 0pt 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 long term debt for all periods presented approximate their respective carrying amounts due to these financial instruments
being at market rates.&lt;/span&gt;&lt;/p&gt;

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

</us-gaap:FairValueOfFinancialInstrumentsPolicy>
    <us-gaap:CommitmentsAndContingenciesPolicyTextBlock contextRef="From2023-01-01to2023-06-30">&lt;p id="xdx_84D_eus-gaap--CommitmentsAndContingenciesPolicyTextBlock_zLMTXLDNma3k" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in; background-color: white"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(o)
&lt;i&gt;&lt;span id="xdx_868_zDelOyyEutx1"&gt;Contingencies&lt;/span&gt;.&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Certain
conditions may exist as of the date the consolidated financial statements are issued which may result in a loss to the Company but which
will only be resolved when one or more future events occur or fail to occur. The Company&#x2019;s management and its legal counsel assess
such contingent liabilities, and such assessment inherently involves an exercise of judgment. In assessing loss contingencies related
to legal proceedings that are pending against the Company or unasserted claims that may result in such proceedings, the Company&#x2019;s
legal counsel evaluates the perceived merits of any legal proceedings or unasserted claims as well as the perceived merits of the amount
of relief sought or expected to be sought therein.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in; background-color: white"&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: 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;If
the assessment of a contingency indicates that it is probable that a material loss has been incurred and the amount of the liability
can be estimated, the estimated liability would be accrued in the Company&#x2019;s consolidated financial statements. If the assessment
indicates that a potential material loss contingency is not probable, but is reasonably possible, or is probable but cannot be estimated,
then the nature of the contingent liability, together with an estimate of the range of possible loss if determinable and material, would
be disclosed.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Loss
contingencies considered remote are generally not disclosed unless they involve guarantees, in which case the guarantees would be disclosed.
Legal fees associated with loss contingencies are expensed as incurred. The Company is not aware of any contingencies at the date of
these consolidated financial statements.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in; background-color: white"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

</us-gaap:CommitmentsAndContingenciesPolicyTextBlock>
    <us-gaap:IncomeTaxPolicyTextBlock contextRef="From2023-01-01to2023-06-30">&lt;p id="xdx_845_eus-gaap--IncomeTaxPolicyTextBlock_z61vZEOqc6jg" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in; background-color: white"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(p)
&lt;i&gt;&lt;span id="xdx_869_zcjjbub01APc"&gt;Income Taxes&lt;/span&gt;.&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in; background-color: white"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Income
taxes are computed by multiplying the Company&#x2019;s taxable net income by the Company&#x2019;s effective tax rates. Deferred income
tax assets and liabilities are recognized for the future tax consequences attributable to differences between the consolidated financial
statement carrying amounts of existing assets and liabilities and their respective tax bases, and operating loss carry-forwards, if any.
Deferred income tax assets and liabilities are measured using enacted tax rates expected to apply to taxable income in the years in which
those temporary differences are expected to be recovered or settled. The effect on deferred income tax assets and liabilities of a change
in tax rates is recognized in income in the period that includes the enactment date. A valuation allowance is provided to reduce the
carrying amount of deferred income tax assets if it is considered more likely than not that some portion, or all, of the deferred income
tax assets will not be realized.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in; background-color: white"&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: 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;In
accordance with FASB Codification Topic 740, &lt;i&gt;Income taxes&lt;/i&gt; (ASC 740) under the liability method, it is the Company&#x2019;s policy
to provide for uncertain tax positions and the related interest and penalties based upon management&#x2019;s assessment of whether a tax
benefit is more likely than not to be sustained upon examination by tax authorities. At June 30, 2023, the Company believes it has appropriately
accounted for any unrecognized tax benefits. To the extent the Company prevails in matters for which a liability for an unrecognized
benefit is established or is required to pay amounts in excess of the liability, the Company&#x2019;s effective tax rate in a given financial
statement period may be affected. Interest and penalties associated with the Company&#x2019;s tax positions are recorded as interest expense
in the consolidated statements of income and comprehensive income.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0"&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:ConcentrationRiskCreditRisk contextRef="From2023-01-01to2023-06-30">&lt;p id="xdx_849_eus-gaap--ConcentrationRiskCreditRisk_zzImRoLmQdSh" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(q)
&lt;i&gt;&lt;span id="xdx_86C_zIRepckk0Vpl"&gt;Risk Management.&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 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 credit risk is primarily attributable to its accounts receivable. The amounts presented in the accompanying consolidated
balance sheets are net of allowances for doubtful accounts, estimated by the Company&#x2019;s management based on prior experience and
the current economic environment. The Company is exposed to credit-related losses in the event of non-payment by customers. Credit exposure
is minimized by dealing with only credit worthy counterparties. Revenue for the Company&#x2019;s three primary customers totaled $&lt;span id="xdx_90D_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20230630__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember_zan1OLXvvS74" title="Sales"&gt;10,681,892&lt;/span&gt;
(&lt;span id="xdx_90A_ecustom--ConcentrationRiskThresholdPercentage_pid_dp_uPure_c20230101__20230630__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerMember_zQWA5VX7dR9h" title="Accounts receivable, after allowance for credit loss"&gt;53&lt;/span&gt;%) for the six months ended June 30, 2023 (2022 - $&lt;span id="xdx_90E_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20220630__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember_z5fdje7AYUl1" title="Sales"&gt;11,597,726&lt;/span&gt; or &lt;span id="xdx_900_ecustom--ConcentrationRiskThresholdPercentage_pid_dp_uPure_c20220101__20220630__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerMember_zQxu9q6B7RRc" title="Accounts receivable, after allowance for credit loss"&gt;53&lt;/span&gt;%) and $&lt;span id="xdx_90F_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230401__20230630__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember_zilfrplLbbUk" title="Sales"&gt;5,172,025&#160;&lt;/span&gt;(&lt;span id="xdx_90A_ecustom--ConcentrationRiskThresholdPercentage_pid_dp_uPure_c20230401__20230630__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerMember_z6KdwLyJIrLh" title="Accounts receivable, after allowance for credit loss"&gt;50&lt;/span&gt;%) for the three months ended June 30, 2023
(2022 - $&lt;span id="xdx_909_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220401__20220630__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember_zk6ZdnpA6rY7" title="Sales"&gt;5,889,266&lt;/span&gt; or &lt;span id="xdx_901_ecustom--ConcentrationRiskThresholdPercentage_pid_dp_uPure_c20220401__20220630__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerMember_zvbW80WC8G9f" title="Accounts receivable, after allowance for credit loss"&gt;53&lt;/span&gt;%). Accounts receivable for the Company&#x2019;s three primary customers for the six months ended June 30, 2023
totaled $&lt;span id="xdx_90B_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20230630__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember_zt5dYTwCWpP8" title="Sale"&gt;3,277,945&lt;/span&gt; or &lt;span id="xdx_900_ecustom--ConcentrationRiskThresholdPercentage_pid_dp_uPure_c20230101__20230630__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember_zizkdawPqjmi" title="Accounts receivable, after allowance for credit loss, percentage"&gt;44&lt;/span&gt;% (2022 - $&lt;span id="xdx_902_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20220101__20220630__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember_zrCs1sJie0u5" title="Sale"&gt;2,409,089&lt;/span&gt; or &lt;span id="xdx_90A_ecustom--ConcentrationRiskThresholdPercentage_pid_dp_uPure_c20220101__20220630__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember_zP4QXcn2jBpk" title="Accounts receivable, after allowance for credit loss, percentage"&gt;36&lt;/span&gt;%). Accounts receivable for the Company&#x2019;s three primary customers for the three
months ended June 30, 2023 totaled $&lt;span id="xdx_90A_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230401__20230630__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember_zvo88YT9n86c" title="Sale"&gt;4,172,657&lt;/span&gt; or &lt;span id="xdx_90E_ecustom--ConcentrationRiskThresholdPercentage_pid_dp_uPure_c20230401__20230630__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember_zbSli9gisF5f" title="Accounts receivable, after allowance for credit loss, percentage"&gt;56&lt;/span&gt;% (2022 - $&lt;span id="xdx_906_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220401__20220630__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember_z9N9wapayLA6" title="Sale"&gt;2,409,089&lt;/span&gt; or &lt;span id="xdx_90A_ecustom--ConcentrationRiskThresholdPercentage_pid_dp_uPure_c20220401__20220630__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember_z2GGyioJVXV3" title="Accounts receivable, after allowance for credit loss, percentage"&gt;36&lt;/span&gt;%; December 31, 2022 - $&lt;span id="xdx_902_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember_zldvJJL7azt3" title="Sale"&gt;6,124,424&lt;/span&gt; or &lt;span id="xdx_90B_ecustom--ConcentrationRiskThresholdPercentage_pid_dp_uPure_c20220101__20221231__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember_zmZvKWR1Uqh9" title="Accounts receivable, after allowance for credit loss, percentage"&gt;65&lt;/span&gt;%).&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
credit risk on cash is limited because the Company limits its exposure to credit loss by placing its cash with major financial institutions.
The Company maintains cash balances at financial institutions which at times exceed federally insured amounts. The Company has not experienced
any losses in such accounts.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 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 exposed to foreign exchange and interest rate risk to the extent that market value rate fluctuations materially differ from
financial assets and liabilities, subject to fixed long-term rates.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 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 manage its exposure to foreign exchange risks, the Company is closely monitoring the fluctuations in the foreign currency exchange
rates and the impact on the value of cash, accounts receivable, and accounts payable and accrued liabilities. The Company has not hedged
its exposure to currency fluctuations.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 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 exposed to interest rate risk to the extent that the fair value or future cash flows for financial liabilities will fluctuate
as a result of changes in market interest rates. The Company is exposed to interest rate risk on its long-term debt.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 24.5pt"&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: 0pt 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 manage its exposure to interest rate risk, the Company is closely monitoring fluctuations in market interest risks and will
refinance its long-term debt where possible to obtain more favourable rates.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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:ConcentrationRiskCreditRisk>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2023-01-012023-06-30_custom_ThreePrimaryCustomersMember"
      decimals="0"
      unitRef="USD">10681892</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <FSI:ConcentrationRiskThresholdPercentage
      contextRef="From2023-01-012023-06-30_custom_ThreePrimaryCustomersMember_us-gaap_RevenueFromContractWithCustomerMember"
      decimals="INF"
      unitRef="Pure">0.53</FSI:ConcentrationRiskThresholdPercentage>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2022-01-012022-06-30_custom_ThreePrimaryCustomersMember"
      decimals="0"
      unitRef="USD">11597726</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <FSI:ConcentrationRiskThresholdPercentage
      contextRef="From2022-01-012022-06-30_custom_ThreePrimaryCustomersMember_us-gaap_RevenueFromContractWithCustomerMember"
      decimals="INF"
      unitRef="Pure">0.53</FSI:ConcentrationRiskThresholdPercentage>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2023-04-012023-06-30_custom_ThreePrimaryCustomersMember"
      decimals="0"
      unitRef="USD">5172025</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <FSI:ConcentrationRiskThresholdPercentage
      contextRef="From2023-04-012023-06-30_custom_ThreePrimaryCustomersMember_us-gaap_RevenueFromContractWithCustomerMember"
      decimals="INF"
      unitRef="Pure">0.50</FSI:ConcentrationRiskThresholdPercentage>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2022-04-012022-06-30_custom_ThreePrimaryCustomersMember"
      decimals="0"
      unitRef="USD">5889266</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <FSI:ConcentrationRiskThresholdPercentage
      contextRef="From2022-04-012022-06-30_custom_ThreePrimaryCustomersMember_us-gaap_RevenueFromContractWithCustomerMember"
      decimals="INF"
      unitRef="Pure">0.53</FSI:ConcentrationRiskThresholdPercentage>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2023-01-012023-06-30_custom_ThreePrimaryCustomersMember_us-gaap_AccountsReceivableMember"
      decimals="0"
      unitRef="USD">3277945</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <FSI:ConcentrationRiskThresholdPercentage
      contextRef="From2023-01-012023-06-30_custom_ThreePrimaryCustomersMember_us-gaap_AccountsReceivableMember"
      decimals="INF"
      unitRef="Pure">0.44</FSI:ConcentrationRiskThresholdPercentage>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2022-01-012022-06-30_custom_ThreePrimaryCustomersMember_us-gaap_AccountsReceivableMember"
      decimals="0"
      unitRef="USD">2409089</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <FSI:ConcentrationRiskThresholdPercentage
      contextRef="From2022-01-012022-06-30_custom_ThreePrimaryCustomersMember_us-gaap_AccountsReceivableMember"
      decimals="INF"
      unitRef="Pure">0.36</FSI:ConcentrationRiskThresholdPercentage>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2023-04-012023-06-30_custom_ThreePrimaryCustomersMember_us-gaap_AccountsReceivableMember"
      decimals="0"
      unitRef="USD">4172657</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <FSI:ConcentrationRiskThresholdPercentage
      contextRef="From2023-04-012023-06-30_custom_ThreePrimaryCustomersMember_us-gaap_AccountsReceivableMember"
      decimals="INF"
      unitRef="Pure">0.56</FSI:ConcentrationRiskThresholdPercentage>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2022-04-012022-06-30_custom_ThreePrimaryCustomersMember_us-gaap_AccountsReceivableMember"
      decimals="0"
      unitRef="USD">2409089</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <FSI:ConcentrationRiskThresholdPercentage
      contextRef="From2022-04-012022-06-30_custom_ThreePrimaryCustomersMember_us-gaap_AccountsReceivableMember"
      decimals="INF"
      unitRef="Pure">0.36</FSI:ConcentrationRiskThresholdPercentage>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2022-01-012022-12-31_custom_ThreePrimaryCustomersMember_us-gaap_AccountsReceivableMember"
      decimals="0"
      unitRef="USD">6124424</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <FSI:ConcentrationRiskThresholdPercentage
      contextRef="From2022-01-012022-12-31_custom_ThreePrimaryCustomersMember_us-gaap_AccountsReceivableMember"
      decimals="INF"
      unitRef="Pure">0.65</FSI:ConcentrationRiskThresholdPercentage>
    <us-gaap:EquityMethodInvestmentsPolicy contextRef="From2023-01-01to2023-06-30">&lt;p id="xdx_84F_eus-gaap--EquityMethodInvestmentsPolicy_zLUSETl658Ee" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(r)
&lt;i&gt;&lt;span id="xdx_861_zgKptDXSxFK"&gt;Equity Method Investment.&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 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 accounts for investments using the equity method of accounting if the investment provides the Company the ability to exercise
significant influence, but not control, over the investee. &lt;span id="xdx_900_eus-gaap--EquityMethodInvestmentDescriptionOfPrincipalActivities_c20230101__20230630__srt--ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis__custom--InvestmentMember_zsVaZZxQbI3f" title="Equity method investment, description"&gt;Significant influence is generally deemed to exist if the Company&#x2019;s
ownership interest in the voting stock of the investee ranges between 20% and 50%, although other factors, such as representation on
the investee&#x2019;s board of directors, are considered in determining whether the equity method of accounting is appropriate&lt;/span&gt;. Under
the equity method of accounting, the investment is initially recorded at cost in the consolidated balance sheets under other assets and
adjusted for dividends received and the Company&#x2019;s share of the investee&#x2019;s earnings or losses together with other-than-temporary
impairments which are recorded through other income (loss), net in the consolidated statements of income and comprehensive income.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 24.5pt; background-color: white"&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:EquityMethodInvestmentDescriptionOfPrincipalActivities contextRef="From2023-01-012023-06-30_custom_InvestmentMember">Significant influence is generally deemed to exist if the Company&#x2019;s
ownership interest in the voting stock of the investee ranges between 20% and 50%, although other factors, such as representation on
the investee&#x2019;s board of directors, are considered in determining whether the equity method of accounting is appropriate</us-gaap:EquityMethodInvestmentDescriptionOfPrincipalActivities>
    <us-gaap:GoodwillAndIntangibleAssetsPolicyTextBlock contextRef="From2023-01-01to2023-06-30">&lt;p id="xdx_848_eus-gaap--GoodwillAndIntangibleAssetsPolicyTextBlock_zrNQ6pSPkCh8" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(s)
&lt;i&gt;&lt;span id="xdx_869_zKzXQcq1Vgzd"&gt;Goodwill and Intangible Assets&lt;/span&gt;.&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Goodwill
represents the excess of the purchase price of an acquired entity over the amounts assigned to the assets acquired and liabilities assumed.
Goodwill is not amortized, but is reviewed for impairment annually or more frequently if certain impairment conditions arise. The Company
performs an annual goodwill impairment review in the fourth quarter of each year at the reporting unit level. The evaluation begins with
a qualitative assessment of the factors that could impact the significant inputs used to estimate fair value. If after performing the
qualitative assessment, it is determined that it is more likely than not that the fair value of a reporting unit is greater than its
carrying amount, including goodwill, then no further analysis is necessary. However, if the results of the qualitative test are unclear,
the Company performs a quantitative test, which involves comparing the fair value of a reporting unit with its carrying amount, including
goodwill. The Company uses an income-based valuation method, determining the present value of future cash flows, to estimate the fair
value of a reporting unit. If the fair value of a reporting unit exceeds its carrying amount, goodwill of the reporting unit is considered
not impaired, and no further analysis is necessary. If the fair value of the reporting unit is less than its carrying amount, goodwill
impairment would be recognized equal to the amount of the carrying value in excess of the reporting unit&#x2019;s fair value, limited
to the total amount of goodwill allocated to the reporting unit.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 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: 0pt 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 primarily include trademarks and trade secrets with indefinite lives and customer-relationships with finite lives. Intangible
assets with indefinite lives are not amortized but are tested for impairment on an annual basis, or more frequently if indicators of
impairment are present. Indefinite lived intangible assets are assessed using either a qualitative or a quantitative approach. The qualitative
assessment evaluates factors including macro-economic conditions, industry and company-specific factors, legal and regulatory environments,
and historical company performance in assessing fair value. If it is determined that it is more likely than not that the fair value of
the intangible asset is less than its carrying value, a quantitative test is then performed. Otherwise, no further testing is required.
When using a quantitative approach, the Company compares the fair value of the intangible asset to its carrying amount. If the estimated
fair value of the intangible asset is less than the carrying amount of the intangible asset, impairment is indicated, requiring recognition
of an impairment charge for the differential.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;In
accordance with FASB Codification Topic 350, &lt;i&gt;Intangibles &#x2013; Goodwill and Other, &lt;/i&gt;(ASC 350), qualitative assessments of goodwill
and indefinite-lived intangible assets were performed at December 31, 2022. Based on the results of the assessment, it was determined
that it is more likely than not the reporting unit, customer lists and trademarks had a fair value in excess of their carrying amounts.
Accordingly, no further impairment testing was completed and no impairment charges related to goodwill or indefinite-lived intangibles
were recognized during the three or six months ended June 30, 2023.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Finite-lived
intangible assets are amortized on a straight-line basis over their estimated useful lives. The Company reviews for impairment indicators
of finite-lived intangibles and other long-lived assets as described in the &#x201c;Impairment of Long Lived Assets&#x201d; significant
accounting policy.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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:GoodwillAndIntangibleAssetsPolicyTextBlock>
    <us-gaap:NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock contextRef="From2023-01-01to2023-06-30">&lt;p id="xdx_846_eus-gaap--NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock_zV4jkrQPosRb" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 24.5pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(t)
&lt;i&gt;&lt;span id="xdx_86F_zn002KrZiInj"&gt;Recent Accounting Pronouncements.&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 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 implemented all applicable new accounting pronouncements that are in effect. Those pronouncements did not have any material
impact on the consolidated financial statements unless otherwise disclosed, and the Company does not believe that there are any other
new accounting pronouncements that have been issued that might have a material impact on its financial position or results of operations.&lt;/span&gt;&lt;/p&gt;

</us-gaap:NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock>
    <us-gaap:LesseeOperatingLeasesTextBlock contextRef="From2023-01-01to2023-06-30">&lt;p id="xdx_805_eus-gaap--LesseeOperatingLeasesTextBlock_zksPm2h80ts1" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="font: small-caps 10pt Times New Roman, Times, Serif"&gt;&lt;b&gt;3.
&lt;span id="xdx_829_z6FKO2ZbbkY4"&gt;LEASES.&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in; background-color: white"&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: 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Accounting
and reporting guidance for leases requires that leases be evaluated and classified as either operating or finance leases by the lessee
and as either operating, sales-type or direct financing leases by the lessor. For leases with terms greater than 12 months, the Company
records the related right-of-use (&#x201c;ROU&#x201d;) asset and lease obligation at the present value of lease payments over the term.
Leases may include fixed rental escalation clauses, renewal options and / or termination options that are factored into the determination
of lease payments when appropriate. The Company&#x2019;s operating leases are included in ROU assets, lease liabilities-current portion
and lease liability-long term portion in the accompanying consolidated balance sheets. ROU assets represent the Company&#x2019;s right
to use an underlying asset for the lease term, and lease liabilities represent the obligation to make lease payments arising from the
lease. The Company&#x2019;s leases do not usually provide a readily determinable implicit rate; therefore, an estimate of the Company&#x2019;s
incremental borrowing rate is used to discount the lease payments based on information available at the lease commencement date. The
discount rate used was &lt;span id="xdx_901_eus-gaap--LesseeOperatingLeaseDiscountRate_iI_pid_uPure_c20230630_ze7cA5FiSSLd" title="Operating leases discount rate"&gt;5.5%&lt;/span&gt;.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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_894_ecustom--SummaryOfRightofuseAssetAndLeaseLiabilityTableTextBlock_zrCunzqeqAy3" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
table below summarizes the right-of-use asset and lease liability for the six months ended June 30, 2023 and the year ended December
31, 2022:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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 style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;span id="xdx_8B7_zEMBfJqux0gi" style="display: none; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;SUMMARY
OF RIGHT-OF-USE ASSET AND LEASE LIABILITY&lt;/span&gt;&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; margin-left: auto; border-collapse: collapse; width: 85%; margin-right: auto"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_49D_20230101__20230630_zsRvbB0W6Za1" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;June 30, 2023&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 colspan="2" id="xdx_495_20220101__20221231_zLiFbE6gynvi" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;December 31, 2022&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&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-decoration: underline; font-weight: bold; text-align: left"&gt;Right of Use 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_40A_eus-gaap--OperatingLeaseRightOfUseAsset_iS_zDiSjpbJUOne" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="width: 57%"&gt;Balance, January 1&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: 15%; text-align: right"&gt;167,222&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: 20%; text-align: right"&gt;217,267&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_403_eus-gaap--OperatingLeaseRightOfUseAsset_iS_zX4hjsG07sO8" style="display: none; vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td&gt;&lt;span style="font-family: Times New Roman, Times, Serif"&gt;Right of use assets, beginning balance&lt;/span&gt;&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;167,222&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;217,267&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40C_eus-gaap--OperatingLeaseRightOfUseAssetAmortizationExpense_iN_di_zUnlOue48PGk" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 1.5pt"&gt;Depreciation&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;(25,687&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;(50,045&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40F_eus-gaap--OperatingLeaseRightOfUseAsset_iE_z59Pr8TVVMId" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td&gt;Balance, end of period&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;141,535&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;167,222&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_406_eus-gaap--OperatingLeaseRightOfUseAsset_iE_zHIAbHzChRB3" style="display: none; vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td&gt;&lt;span style="font-family: Times New Roman, Times, Serif"&gt;Right of use assets, ending balance&lt;/span&gt;&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;141,535&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;167,222&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;&#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="text-decoration: underline; font-weight: bold; text-align: left"&gt;Lease Liability&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_eus-gaap--OperatingLeaseLiability_iS_z2TOTnj362D5" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td&gt;Balance, January 1&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;167,222&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;217,267&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_408_eus-gaap--OperatingLeaseLiability_iS_z9mYgHVqkCZ7" style="display: none; vertical-align: bottom; background-color: White"&gt;
    &lt;td&gt;&lt;span style="font-family: Times New Roman, Times, Serif"&gt;Lease liability, beginning balance&lt;/span&gt;&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;167,222&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;217,267&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40E_ecustom--LeaseInterestExpense_z8GggI9d2w08" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Lease interest expense&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,353&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;8,566&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_407_eus-gaap--OperatingLeasePayments_iN_di_zcG22SP9Qrob" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 1.5pt"&gt;Payments&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;(29,040&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;(58,611&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_406_eus-gaap--OperatingLeaseLiability_iE_zcZ50rqp6mk8" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-bottom: 1.5pt"&gt;Balance, end of period&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;141,535&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;167,222&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_40B_eus-gaap--OperatingLeaseLiability_iE_zHzNPhlB8sch" style="display: none; vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td&gt;&lt;span style="font-family: Times New Roman, Times, Serif"&gt;Lease liability, ending balance&lt;/span&gt;&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;141,535&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;167,222&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;&#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="text-align: left"&gt;Short-term portion&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98E_eus-gaap--OperatingLeaseLiabilityCurrent_iI_pp0p0_c20230630_zfXprkcePFuc" style="text-align: right" title="Short-term portion"&gt;58,800&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_eus-gaap--OperatingLeaseLiabilityCurrent_iI_pp0p0_c20221231_zVnRbjgsn1Vc" style="text-align: right" title="Short-term portion"&gt;58,080&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;Long-term portion&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_98B_eus-gaap--OperatingLeaseLiabilityNoncurrent_iI_pp0p0_c20230630_zEdzque6mIIf" style="border-bottom: Black 1.5pt solid; text-align: right" title="Long-term portion"&gt;82,735&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_98C_eus-gaap--OperatingLeaseLiabilityNoncurrent_iI_pp0p0_c20221231_znVEAiBTrYv3" style="border-bottom: Black 1.5pt solid; text-align: right" title="Long-term portion"&gt;109,142&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--OperatingLeaseLiability_iI_pp0p0_c20230630_zXtdDFZUP3n6" style="border-bottom: Black 1.5pt solid; text-align: right" title="Total"&gt;141,535&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 id="xdx_984_eus-gaap--OperatingLeaseLiability_iI_pp0p0_c20221231_zROFpoHP9cti" style="border-bottom: Black 1.5pt solid; text-align: right" title="Total"&gt;167,222&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_8AF_zTKU4liftbJh" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"&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; text-align: center; margin-top: 0pt; margin-bottom: 0pt"&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_892_eus-gaap--LesseeOperatingLeaseLiabilityMaturityTableTextBlock_zfyySa8bvzMg" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Undiscounted
rent payments for the next three years 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; text-align: center"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;span id="xdx_8B8_zAJI6lVjt6H4" style="display: none; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;SCHEDULE
OF UNDISCOUNTED RENT PAYMENTS&lt;/span&gt;&lt;/span&gt;&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; margin-left: auto; border-collapse: collapse; width: 65%; margin-right: auto"&gt;
  &lt;tr style="display: none; vertical-align: bottom; background-color: rgb(204,238,255)"&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_494_20230630_ztWyWGT8MX18" 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--LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear_iI_pp0p0_maLOLLPz6zC_zEfQMeBao8v7" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 80%; text-align: left"&gt;2023&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;29,040&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40E_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_iI_pp0p0_maLOLLPz6zC_zuShK5tUGMhf" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;2024&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;59,520&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_403_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_iI_pp0p0_maLOLLPz6zC_z2P2Akm8uXDb" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;2025&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;61,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_40D_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDue_iTI_mtLOLLPz6zC_zqZWqXc5rz37" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Total&lt;/span&gt;&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;149,580&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40F_eus-gaap--LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_iNI_pp0p0_di_zRnlCacCwBc6" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Impact of discounting&lt;/span&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;(8,045&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40F_eus-gaap--OperatingLeaseLiability_iI_zLKMYkPg6d6b" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Lease liability, June 30,
    2023&lt;/span&gt;&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;141,535&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

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

</us-gaap:LesseeOperatingLeasesTextBlock>
    <us-gaap:LesseeOperatingLeaseDiscountRate contextRef="AsOf2023-06-30" decimals="INF" unitRef="Pure">0.055</us-gaap:LesseeOperatingLeaseDiscountRate>
    <FSI:SummaryOfRightofuseAssetAndLeaseLiabilityTableTextBlock contextRef="From2023-01-01to2023-06-30">&lt;p id="xdx_894_ecustom--SummaryOfRightofuseAssetAndLeaseLiabilityTableTextBlock_zrCunzqeqAy3" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
table below summarizes the right-of-use asset and lease liability for the six months ended June 30, 2023 and the year ended December
31, 2022:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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 style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;span id="xdx_8B7_zEMBfJqux0gi" style="display: none; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;SUMMARY
OF RIGHT-OF-USE ASSET AND LEASE LIABILITY&lt;/span&gt;&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; margin-left: auto; border-collapse: collapse; width: 85%; margin-right: auto"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_49D_20230101__20230630_zsRvbB0W6Za1" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;June 30, 2023&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 colspan="2" id="xdx_495_20220101__20221231_zLiFbE6gynvi" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;December 31, 2022&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&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-decoration: underline; font-weight: bold; text-align: left"&gt;Right of Use 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_40A_eus-gaap--OperatingLeaseRightOfUseAsset_iS_zDiSjpbJUOne" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="width: 57%"&gt;Balance, January 1&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: 15%; text-align: right"&gt;167,222&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: 20%; text-align: right"&gt;217,267&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_403_eus-gaap--OperatingLeaseRightOfUseAsset_iS_zX4hjsG07sO8" style="display: none; vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td&gt;&lt;span style="font-family: Times New Roman, Times, Serif"&gt;Right of use assets, beginning balance&lt;/span&gt;&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;167,222&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;217,267&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40C_eus-gaap--OperatingLeaseRightOfUseAssetAmortizationExpense_iN_di_zUnlOue48PGk" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 1.5pt"&gt;Depreciation&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;(25,687&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;(50,045&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40F_eus-gaap--OperatingLeaseRightOfUseAsset_iE_z59Pr8TVVMId" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td&gt;Balance, end of period&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;141,535&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;167,222&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_406_eus-gaap--OperatingLeaseRightOfUseAsset_iE_zHIAbHzChRB3" style="display: none; vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td&gt;&lt;span style="font-family: Times New Roman, Times, Serif"&gt;Right of use assets, ending balance&lt;/span&gt;&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;141,535&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;167,222&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;&#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="text-decoration: underline; font-weight: bold; text-align: left"&gt;Lease Liability&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_eus-gaap--OperatingLeaseLiability_iS_z2TOTnj362D5" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td&gt;Balance, January 1&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;167,222&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;217,267&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_408_eus-gaap--OperatingLeaseLiability_iS_z9mYgHVqkCZ7" style="display: none; vertical-align: bottom; background-color: White"&gt;
    &lt;td&gt;&lt;span style="font-family: Times New Roman, Times, Serif"&gt;Lease liability, beginning balance&lt;/span&gt;&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;167,222&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;217,267&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40E_ecustom--LeaseInterestExpense_z8GggI9d2w08" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Lease interest expense&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,353&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;8,566&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_407_eus-gaap--OperatingLeasePayments_iN_di_zcG22SP9Qrob" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 1.5pt"&gt;Payments&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;(29,040&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;(58,611&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_406_eus-gaap--OperatingLeaseLiability_iE_zcZ50rqp6mk8" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-bottom: 1.5pt"&gt;Balance, end of period&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;141,535&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;167,222&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_40B_eus-gaap--OperatingLeaseLiability_iE_zHzNPhlB8sch" style="display: none; vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td&gt;&lt;span style="font-family: Times New Roman, Times, Serif"&gt;Lease liability, ending balance&lt;/span&gt;&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;141,535&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;167,222&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;&#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="text-align: left"&gt;Short-term portion&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98E_eus-gaap--OperatingLeaseLiabilityCurrent_iI_pp0p0_c20230630_zfXprkcePFuc" style="text-align: right" title="Short-term portion"&gt;58,800&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_eus-gaap--OperatingLeaseLiabilityCurrent_iI_pp0p0_c20221231_zVnRbjgsn1Vc" style="text-align: right" title="Short-term portion"&gt;58,080&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;Long-term portion&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_98B_eus-gaap--OperatingLeaseLiabilityNoncurrent_iI_pp0p0_c20230630_zEdzque6mIIf" style="border-bottom: Black 1.5pt solid; text-align: right" title="Long-term portion"&gt;82,735&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_98C_eus-gaap--OperatingLeaseLiabilityNoncurrent_iI_pp0p0_c20221231_znVEAiBTrYv3" style="border-bottom: Black 1.5pt solid; text-align: right" title="Long-term portion"&gt;109,142&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--OperatingLeaseLiability_iI_pp0p0_c20230630_zXtdDFZUP3n6" style="border-bottom: Black 1.5pt solid; text-align: right" title="Total"&gt;141,535&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 id="xdx_984_eus-gaap--OperatingLeaseLiability_iI_pp0p0_c20221231_zROFpoHP9cti" style="border-bottom: Black 1.5pt solid; text-align: right" title="Total"&gt;167,222&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

</FSI:SummaryOfRightofuseAssetAndLeaseLiabilityTableTextBlock>
    <us-gaap:OperatingLeaseRightOfUseAsset contextRef="AsOf2022-12-31" decimals="0" unitRef="USD">167222</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseRightOfUseAsset contextRef="AsOf2021-12-31" decimals="0" unitRef="USD">217267</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseRightOfUseAsset contextRef="AsOf2022-12-31" decimals="0" unitRef="USD">167222</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseRightOfUseAsset contextRef="AsOf2021-12-31" decimals="0" unitRef="USD">217267</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseRightOfUseAssetAmortizationExpense
      contextRef="From2023-01-01to2023-06-30"
      decimals="0"
      unitRef="USD">25687</us-gaap:OperatingLeaseRightOfUseAssetAmortizationExpense>
    <us-gaap:OperatingLeaseRightOfUseAssetAmortizationExpense
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      unitRef="USD">50045</us-gaap:OperatingLeaseRightOfUseAssetAmortizationExpense>
    <us-gaap:OperatingLeaseRightOfUseAsset contextRef="AsOf2023-06-30" decimals="0" unitRef="USD">141535</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseRightOfUseAsset contextRef="AsOf2022-12-31" decimals="0" unitRef="USD">167222</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseRightOfUseAsset contextRef="AsOf2023-06-30" decimals="0" unitRef="USD">141535</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseRightOfUseAsset contextRef="AsOf2022-12-31" decimals="0" unitRef="USD">167222</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseLiability contextRef="AsOf2022-12-31" decimals="0" unitRef="USD">167222</us-gaap:OperatingLeaseLiability>
    <us-gaap:OperatingLeaseLiability contextRef="AsOf2021-12-31" decimals="0" unitRef="USD">217267</us-gaap:OperatingLeaseLiability>
    <us-gaap:OperatingLeaseLiability contextRef="AsOf2022-12-31" decimals="0" unitRef="USD">167222</us-gaap:OperatingLeaseLiability>
    <us-gaap:OperatingLeaseLiability contextRef="AsOf2021-12-31" decimals="0" unitRef="USD">217267</us-gaap:OperatingLeaseLiability>
    <FSI:LeaseInterestExpense
      contextRef="From2023-01-01to2023-06-30"
      decimals="0"
      unitRef="USD">3353</FSI:LeaseInterestExpense>
    <FSI:LeaseInterestExpense
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      unitRef="USD">8566</FSI:LeaseInterestExpense>
    <us-gaap:OperatingLeasePayments
      contextRef="From2023-01-01to2023-06-30"
      decimals="0"
      unitRef="USD">29040</us-gaap:OperatingLeasePayments>
    <us-gaap:OperatingLeasePayments
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      unitRef="USD">58611</us-gaap:OperatingLeasePayments>
    <us-gaap:OperatingLeaseLiability contextRef="AsOf2023-06-30" decimals="0" unitRef="USD">141535</us-gaap:OperatingLeaseLiability>
    <us-gaap:OperatingLeaseLiability contextRef="AsOf2022-12-31" decimals="0" unitRef="USD">167222</us-gaap:OperatingLeaseLiability>
    <us-gaap:OperatingLeaseLiability contextRef="AsOf2023-06-30" decimals="0" unitRef="USD">141535</us-gaap:OperatingLeaseLiability>
    <us-gaap:OperatingLeaseLiability contextRef="AsOf2022-12-31" decimals="0" unitRef="USD">167222</us-gaap:OperatingLeaseLiability>
    <us-gaap:OperatingLeaseLiabilityCurrent contextRef="AsOf2023-06-30" decimals="0" unitRef="USD">58800</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:OperatingLeaseLiabilityCurrent contextRef="AsOf2022-12-31" decimals="0" unitRef="USD">58080</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent contextRef="AsOf2023-06-30" decimals="0" unitRef="USD">82735</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent contextRef="AsOf2022-12-31" decimals="0" unitRef="USD">109142</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:OperatingLeaseLiability contextRef="AsOf2023-06-30" decimals="0" unitRef="USD">141535</us-gaap:OperatingLeaseLiability>
    <us-gaap:OperatingLeaseLiability contextRef="AsOf2022-12-31" decimals="0" unitRef="USD">167222</us-gaap:OperatingLeaseLiability>
    <us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock contextRef="From2023-01-01to2023-06-30">&lt;p id="xdx_892_eus-gaap--LesseeOperatingLeaseLiabilityMaturityTableTextBlock_zfyySa8bvzMg" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Undiscounted
rent payments for the next three years 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; text-align: center"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;span id="xdx_8B8_zAJI6lVjt6H4" style="display: none; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;SCHEDULE
OF UNDISCOUNTED RENT PAYMENTS&lt;/span&gt;&lt;/span&gt;&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; margin-left: auto; border-collapse: collapse; width: 65%; margin-right: auto"&gt;
  &lt;tr style="display: none; vertical-align: bottom; background-color: rgb(204,238,255)"&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_494_20230630_ztWyWGT8MX18" 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--LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear_iI_pp0p0_maLOLLPz6zC_zEfQMeBao8v7" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 80%; text-align: left"&gt;2023&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;29,040&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40E_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_iI_pp0p0_maLOLLPz6zC_zuShK5tUGMhf" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;2024&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;59,520&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_403_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_iI_pp0p0_maLOLLPz6zC_z2P2Akm8uXDb" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;2025&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;61,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_40D_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDue_iTI_mtLOLLPz6zC_zqZWqXc5rz37" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Total&lt;/span&gt;&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;149,580&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40F_eus-gaap--LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_iNI_pp0p0_di_zRnlCacCwBc6" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Impact of discounting&lt;/span&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;(8,045&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40F_eus-gaap--OperatingLeaseLiability_iI_zLKMYkPg6d6b" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Lease liability, June 30,
    2023&lt;/span&gt;&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;141,535&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

</us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear contextRef="AsOf2023-06-30" decimals="0" unitRef="USD">29040</us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths contextRef="AsOf2023-06-30" decimals="0" unitRef="USD">59520</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo contextRef="AsOf2023-06-30" decimals="0" unitRef="USD">61020</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue contextRef="AsOf2023-06-30" decimals="0" unitRef="USD">149580</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue>
    <us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount contextRef="AsOf2023-06-30" decimals="0" unitRef="USD">8045</us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount>
    <us-gaap:OperatingLeaseLiability contextRef="AsOf2023-06-30" decimals="0" unitRef="USD">141535</us-gaap:OperatingLeaseLiability>
    <us-gaap:FinancingReceivablesTextBlock contextRef="From2023-01-01to2023-06-30">&lt;p id="xdx_807_eus-gaap--FinancingReceivablesTextBlock_zYoKpnsUfiD2" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="font: small-caps 10pt Times New Roman, Times, Serif"&gt;&lt;b&gt;4.
&lt;span id="xdx_824_zaSSE0AuCDB9"&gt;ACCOUNTS RECEIVABLE.&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_899_eus-gaap--AccountsReceivableAllowanceForCreditLossTableTextBlock_zUK6oFmW7Hua" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"&gt;&lt;span style="font: small-caps 10pt Times New Roman, Times, Serif"&gt;&lt;b&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span style="display: none"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;span id="xdx_8BE_zx9VJWV7Wjvl" style="display: none; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;SCHEDULE
OF ACCOUNTS RECEIVABLE&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&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; margin-left: auto; border-collapse: collapse; width: 85%; margin-right: auto"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_49E_20230630_zYx7x9reqekg" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;June 30, 2023&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 colspan="2" id="xdx_49D_20221231_zmNUbxZGDsOf" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;December 31, 2022&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&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 id="xdx_400_eus-gaap--AccountsReceivableGross_iI_pp0p0_maAANRNzPjC_z6QEUNp2zI7f" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 57%; text-align: left"&gt;Accounts receivable&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: 15%; text-align: right"&gt;7,725,203&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: 20%; text-align: right"&gt;9,739,150&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_409_eus-gaap--AllowanceForDoubtfulAccountsPremiumsAndOtherReceivables_iNI_pp0p0_di_msAANRNzPjC_zn49DDCrahUa" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 1.5pt"&gt;Allowances for doubtful accounts&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;(290,153&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;(289,293&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40E_eus-gaap--AccountsAndNotesReceivableNet_iTI_pp0p0_mtAANRNzPjC_zcz7q9TLC3Md" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 1.5pt"&gt;&lt;span style="display: none; font-family: Times New Roman, Times, Serif"&gt;Total accounts receivable&lt;/span&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;$&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;7,435,050&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;9,449,857&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_8A3_zStYd4epOYF9" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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:FinancingReceivablesTextBlock>
    <us-gaap:AccountsReceivableAllowanceForCreditLossTableTextBlock contextRef="From2023-01-01to2023-06-30">&lt;p id="xdx_899_eus-gaap--AccountsReceivableAllowanceForCreditLossTableTextBlock_zUK6oFmW7Hua" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"&gt;&lt;span style="font: small-caps 10pt Times New Roman, Times, Serif"&gt;&lt;b&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span style="display: none"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;span id="xdx_8BE_zx9VJWV7Wjvl" style="display: none; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;SCHEDULE
OF ACCOUNTS RECEIVABLE&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&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; margin-left: auto; border-collapse: collapse; width: 85%; margin-right: auto"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_49E_20230630_zYx7x9reqekg" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;June 30, 2023&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 colspan="2" id="xdx_49D_20221231_zmNUbxZGDsOf" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;December 31, 2022&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&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 id="xdx_400_eus-gaap--AccountsReceivableGross_iI_pp0p0_maAANRNzPjC_z6QEUNp2zI7f" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 57%; text-align: left"&gt;Accounts receivable&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: 15%; text-align: right"&gt;7,725,203&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: 20%; text-align: right"&gt;9,739,150&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_409_eus-gaap--AllowanceForDoubtfulAccountsPremiumsAndOtherReceivables_iNI_pp0p0_di_msAANRNzPjC_zn49DDCrahUa" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 1.5pt"&gt;Allowances for doubtful accounts&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;(290,153&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;(289,293&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40E_eus-gaap--AccountsAndNotesReceivableNet_iTI_pp0p0_mtAANRNzPjC_zcz7q9TLC3Md" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 1.5pt"&gt;&lt;span style="display: none; font-family: Times New Roman, Times, Serif"&gt;Total accounts receivable&lt;/span&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;$&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;7,435,050&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;9,449,857&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:AccountsReceivableAllowanceForCreditLossTableTextBlock>
    <us-gaap:AccountsReceivableGross contextRef="AsOf2023-06-30" decimals="0" unitRef="USD">7725203</us-gaap:AccountsReceivableGross>
    <us-gaap:AccountsReceivableGross contextRef="AsOf2022-12-31" decimals="0" unitRef="USD">9739150</us-gaap:AccountsReceivableGross>
    <us-gaap:AllowanceForDoubtfulAccountsPremiumsAndOtherReceivables contextRef="AsOf2023-06-30" decimals="0" unitRef="USD">290153</us-gaap:AllowanceForDoubtfulAccountsPremiumsAndOtherReceivables>
    <us-gaap:AllowanceForDoubtfulAccountsPremiumsAndOtherReceivables contextRef="AsOf2022-12-31" decimals="0" unitRef="USD">289293</us-gaap:AllowanceForDoubtfulAccountsPremiumsAndOtherReceivables>
    <us-gaap:AccountsAndNotesReceivableNet contextRef="AsOf2023-06-30" decimals="0" unitRef="USD">7435050</us-gaap:AccountsAndNotesReceivableNet>
    <us-gaap:AccountsAndNotesReceivableNet contextRef="AsOf2022-12-31" decimals="0" unitRef="USD">9449857</us-gaap:AccountsAndNotesReceivableNet>
    <us-gaap:InventoryDisclosureTextBlock contextRef="From2023-01-01to2023-06-30">&lt;p id="xdx_80A_eus-gaap--InventoryDisclosureTextBlock_zFOfv7kHBaf9" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="font: small-caps 10pt Times New Roman, Times, Serif"&gt;&lt;b&gt;5.
&lt;span&gt;&lt;span id="xdx_82F_zkNj7cHZFSWg"&gt;INVENTORIES.&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="font: small-caps 10pt Times New Roman, Times, Serif"&gt;&lt;b&gt;&lt;span&gt;&lt;span&gt;&#160;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_89C_eus-gaap--ScheduleOfInventoryCurrentTableTextBlock_zlOGCFmO3u5k" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span style="display: none; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;span id="xdx_8BC_zAYZxrBrWRi6" style="display: none; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;SCHEDULE
OF INVENTORY&lt;/span&gt;&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; margin-left: auto; border-collapse: collapse; width: 85%; margin-right: auto"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_495_20230630_znksefHhO6Eb" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;June 30, 2023&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 colspan="2" id="xdx_49A_20221231_zRYUJoZISQie" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;December 31, 2022&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&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 id="xdx_404_eus-gaap--InventoryFinishedGoods_iI_pp0p0_maINzDiN_maINzkLt_zKB0N3PSF6qe" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 57%; text-align: left"&gt;Completed goods&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: 15%; text-align: right"&gt;3,280,008&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: 20%; text-align: right"&gt;3,806,646&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40B_eus-gaap--InventoryRawMaterialsAndSupplies_iI_pp0p0_maINzDiN_maINzkLt_zyDzsZVqrnjc" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 1.5pt"&gt;Raw materials and supplies&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;8,036,221&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;10,612,784&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--InventoryNet_iTI_pp0p0_mtINzkLt_z7v8eahZOXf" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 1.5pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif"&gt;&lt;span style="display: none; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Total
    inventory&lt;/span&gt;&lt;/span&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;$&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;11,316,229&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;14,419,430&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_8A6_z1k8pRsBY6N2" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"&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; text-align: center; margin-top: 0pt; margin-bottom: 0pt"&gt;&lt;span style="font: small-caps 10pt Times New Roman, Times, Serif"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

</us-gaap:InventoryDisclosureTextBlock>
    <us-gaap:ScheduleOfInventoryCurrentTableTextBlock contextRef="From2023-01-01to2023-06-30">&lt;p id="xdx_89C_eus-gaap--ScheduleOfInventoryCurrentTableTextBlock_zlOGCFmO3u5k" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span style="display: none; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;span id="xdx_8BC_zAYZxrBrWRi6" style="display: none; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;SCHEDULE
OF INVENTORY&lt;/span&gt;&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; margin-left: auto; border-collapse: collapse; width: 85%; margin-right: auto"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_495_20230630_znksefHhO6Eb" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;June 30, 2023&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 colspan="2" id="xdx_49A_20221231_zRYUJoZISQie" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;December 31, 2022&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&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 id="xdx_404_eus-gaap--InventoryFinishedGoods_iI_pp0p0_maINzDiN_maINzkLt_zKB0N3PSF6qe" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 57%; text-align: left"&gt;Completed goods&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: 15%; text-align: right"&gt;3,280,008&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: 20%; text-align: right"&gt;3,806,646&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40B_eus-gaap--InventoryRawMaterialsAndSupplies_iI_pp0p0_maINzDiN_maINzkLt_zyDzsZVqrnjc" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 1.5pt"&gt;Raw materials and supplies&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;8,036,221&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;10,612,784&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--InventoryNet_iTI_pp0p0_mtINzkLt_z7v8eahZOXf" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 1.5pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif"&gt;&lt;span style="display: none; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Total
    inventory&lt;/span&gt;&lt;/span&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;$&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;11,316,229&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;14,419,430&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:ScheduleOfInventoryCurrentTableTextBlock>
    <us-gaap:InventoryFinishedGoods contextRef="AsOf2023-06-30" decimals="0" unitRef="USD">3280008</us-gaap:InventoryFinishedGoods>
    <us-gaap:InventoryFinishedGoods contextRef="AsOf2022-12-31" decimals="0" unitRef="USD">3806646</us-gaap:InventoryFinishedGoods>
    <us-gaap:InventoryRawMaterialsAndSupplies contextRef="AsOf2023-06-30" decimals="0" unitRef="USD">8036221</us-gaap:InventoryRawMaterialsAndSupplies>
    <us-gaap:InventoryRawMaterialsAndSupplies contextRef="AsOf2022-12-31" decimals="0" unitRef="USD">10612784</us-gaap:InventoryRawMaterialsAndSupplies>
    <us-gaap:InventoryNet contextRef="AsOf2023-06-30" decimals="0" unitRef="USD">11316229</us-gaap:InventoryNet>
    <us-gaap:InventoryNet contextRef="AsOf2022-12-31" decimals="0" unitRef="USD">14419430</us-gaap:InventoryNet>
    <us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock contextRef="From2023-01-01to2023-06-30">&lt;p id="xdx_80D_eus-gaap--PropertyPlantAndEquipmentDisclosureTextBlock_z8pOM0JvAEL9" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="font: small-caps 10pt Times New Roman, Times, Serif"&gt;&lt;b&gt;6.
&lt;span id="xdx_82F_zjzcsPjOkD4f"&gt;PROPERTY, EQUIPMENT &amp;amp; LEASEHOLDS.&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_891_eus-gaap--PropertyPlantAndEquipmentTextBlock_zFksPMa8BpCl" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span style="display: none"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;span id="xdx_8B8_znWtdbaBqQge" style="display: none; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;SCHEDULE
OF PROPERTY, EQUIPMENT AND LEASEHOLDS&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&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; margin-left: auto; border-collapse: collapse; width: 85%; margin-right: auto"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_488_eus-gaap--PropertyPlantAndEquipmentGross_iI_zJBZcRX7x0Ql" style="text-align: center"&gt;June 30, 2023&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_487_eus-gaap--AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_iI_zXO5bpOlCaS5" style="text-align: center"&gt;Accumulated&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_481_eus-gaap--PropertyPlantAndEquipmentNet_iI_zwLtC19eDe9a" style="text-align: center"&gt;June 30, 2023&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;Cost&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;Depreciation&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;Net&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_41F_20230630__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--BuildingAndBuildingImprovementsMember_zFPegrsX2cEk" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 37%; text-align: left"&gt;Buildings and improvements&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: 18%; text-align: right"&gt;12,065,617&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: 15%; text-align: right"&gt;3,572,013&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: 18%; text-align: right"&gt;8,493,604&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_417_20230630__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--AutomobilesMember_zphScuvLwSgb" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td&gt;Automobiles&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;196,255&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;124,924&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;71,331&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_417_20230630__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--ComputerEquipmentMember_zhP9K88Cpdt5" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Computer hardware&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;43,490&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;42,826&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;664&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_413_20230630__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--OfficeEquipmentMember_zW04lQwR0qYa" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Office equipment&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;134,233&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;117,826&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;16,407&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_41E_20230630__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--MachineryAndEquipmentMember_zLiQEtBLjQV4" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Manufacturing equipment&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;9,074,006&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;5,281,191&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,792,815&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_414_20230630__us-gaap--PropertyPlantAndEquipmentByTypeAxis__custom--TrailerMember_zd9XeeXF3HIe" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td&gt;Trailer&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;9,061&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;7,961&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,100&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_41C_20230630__us-gaap--PropertyPlantAndEquipmentByTypeAxis__custom--BoatMember_zWNyaHPtbdaf" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td&gt;Boat&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;34,400&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;29,006&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;5,394&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_417_20230630__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--LeaseholdImprovementsMember_zS3D62XI7jp3" 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: right"&gt;88,872&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;88,872&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="-sec-ix-hidden: xdx2ixbrl1081"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_412_20230630__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--DevelopedTechnologyRightsMember_zN70ijI21kyc" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td&gt;Technology&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;103,182&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;103,182&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="-sec-ix-hidden: xdx2ixbrl1084"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_418_20230630__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--LandMember_zM63yvzzqw7a" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-bottom: 1.5pt"&gt;Land&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;440,592&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="-sec-ix-hidden: xdx2ixbrl1086"&gt;&#x2014;&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;440,592&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: 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;$&lt;/td&gt;&lt;td id="xdx_98B_eus-gaap--PropertyPlantAndEquipmentGross_iI_c20230630_z2hU7JOV00K1" style="border-bottom: Black 1.5pt solid; text-align: right" title="Cost"&gt;22,189,708&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 id="xdx_980_eus-gaap--AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_iI_c20230630_zWDXrt7hCzY7" style="border-bottom: Black 1.5pt solid; text-align: right" title="Accumulated Depreciation"&gt;9,367,801&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 id="xdx_981_eus-gaap--PropertyPlantAndEquipmentNet_iI_c20230630_zgEGBrhXGGCa" style="border-bottom: Black 1.5pt solid; text-align: right" title="Property, plant and equipment, net, total"&gt;12,821,907&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 style="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0pt; margin-bottom: 0pt"&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; margin-left: auto; border-collapse: collapse; width: 85%; margin-right: auto"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_48C_eus-gaap--PropertyPlantAndEquipmentGross_iI_zeH2ouiyg1bg" style="text-align: center"&gt;December 31, 2022&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_487_eus-gaap--AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_iI_z00syL3iLUf1" style="text-align: center"&gt;Accumulated&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_481_eus-gaap--PropertyPlantAndEquipmentNet_iI_zMT5Tuc4tHr4" style="text-align: center"&gt;December 31, 2022&lt;/td&gt;&lt;td&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="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;Cost&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 colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;Depreciation&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 colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;Net&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_41A_20221231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--BuildingAndBuildingImprovementsMember_zviCQ3c7A1x3" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 37%; text-align: left"&gt;Buildings and improvements&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: 18%; text-align: right"&gt;8,775,629&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: 15%; text-align: right"&gt;3,310,920&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: 18%; text-align: right"&gt;5,464,709&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_414_20221231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--AutomobilesMember_zlfVfSN0rCs8" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td&gt;Automobiles&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;196,255&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;107,055&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;89,200&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_419_20221231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--ComputerEquipmentMember_zJzhxWWRooX" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Computer hardware&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;43,432&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;42,663&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;769&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_41D_20221231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--OfficeEquipmentMember_zCGKY18dFjYj" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Office equipment&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;133,280&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;112,782&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;20,498&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_410_20221231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--MachineryAndEquipmentMember_zdpkZ4NR8Wei" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Manufacturing equipment&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;8,634,063&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;4,891,736&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,742,327&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_419_20221231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__custom--TrailerMember_zwHlpZCWrDgk" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td&gt;Trailers&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;8,857&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;7,592&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,265&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_41F_20221231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__custom--BoatMember_zbK0Ed74fftb" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td&gt;Boat&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;34,400&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;27,907&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;6,493&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_418_20221231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--LeaseholdImprovementsMember_z2sdEPkIkGT" 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: right"&gt;88,872&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;88,872&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="-sec-ix-hidden: xdx2ixbrl1117"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_412_20221231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--DevelopedTechnologyRightsMember_zHwboTZI88Al" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td&gt;Technology&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;100,860&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;100,860&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="-sec-ix-hidden: xdx2ixbrl1120"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_415_20221231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--LandMember_znCkU7HIvzDa" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td&gt;Land&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;384,027&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="-sec-ix-hidden: xdx2ixbrl1122"&gt;&#x2014;&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;384,027&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;&#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 id="xdx_986_eus-gaap--PropertyPlantAndEquipmentGross_iI_c20221231_zfbomOSnbbxl" style="border-bottom: Black 1.5pt solid; text-align: right" title="Cost"&gt;18,399,675&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 id="xdx_98A_eus-gaap--AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_iI_c20221231_zV01X1Gkyhb1" style="border-bottom: Black 1.5pt solid; text-align: right" title="Accumulated Depreciation"&gt;8,690,387&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 id="xdx_984_eus-gaap--PropertyPlantAndEquipmentNet_iI_c20221231_zwNeLW32esPg" style="border-bottom: Black 1.5pt solid; text-align: right" title="Property, plant and equipment, net, total"&gt;9,709,288&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_8AE_zaCnMDMiH835" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Amount
of depreciation expense for the six months ended June 30, 2023 was $&lt;span id="xdx_90B_eus-gaap--Depreciation_c20230101__20230630_zWFpKLZyOih3" title="Depreciation"&gt;671,574&lt;/span&gt; (2022: $&lt;span id="xdx_90D_eus-gaap--Depreciation_c20220101__20220630_zcN61L8orrjh" title="Depreciation"&gt;384,058&lt;/span&gt;) and is included in cost of sales in the
unaudited condensed interim consolidated statements of operations and comprehensive income.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.5in; 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:PropertyPlantAndEquipmentDisclosureTextBlock>
    <us-gaap:PropertyPlantAndEquipmentTextBlock contextRef="From2023-01-01to2023-06-30">&lt;p id="xdx_891_eus-gaap--PropertyPlantAndEquipmentTextBlock_zFksPMa8BpCl" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span style="display: none"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;span id="xdx_8B8_znWtdbaBqQge" style="display: none; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;SCHEDULE
OF PROPERTY, EQUIPMENT AND LEASEHOLDS&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&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; margin-left: auto; border-collapse: collapse; width: 85%; margin-right: auto"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_488_eus-gaap--PropertyPlantAndEquipmentGross_iI_zJBZcRX7x0Ql" style="text-align: center"&gt;June 30, 2023&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_487_eus-gaap--AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_iI_zXO5bpOlCaS5" style="text-align: center"&gt;Accumulated&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_481_eus-gaap--PropertyPlantAndEquipmentNet_iI_zwLtC19eDe9a" style="text-align: center"&gt;June 30, 2023&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;Cost&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;Depreciation&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;Net&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_41F_20230630__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--BuildingAndBuildingImprovementsMember_zFPegrsX2cEk" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 37%; text-align: left"&gt;Buildings and improvements&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: 18%; text-align: right"&gt;12,065,617&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: 15%; text-align: right"&gt;3,572,013&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: 18%; text-align: right"&gt;8,493,604&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_417_20230630__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--AutomobilesMember_zphScuvLwSgb" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td&gt;Automobiles&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;196,255&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;124,924&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;71,331&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_417_20230630__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--ComputerEquipmentMember_zhP9K88Cpdt5" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Computer hardware&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;43,490&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;42,826&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;664&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_413_20230630__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--OfficeEquipmentMember_zW04lQwR0qYa" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Office equipment&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;134,233&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;117,826&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;16,407&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_41E_20230630__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--MachineryAndEquipmentMember_zLiQEtBLjQV4" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Manufacturing equipment&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;9,074,006&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;5,281,191&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,792,815&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_414_20230630__us-gaap--PropertyPlantAndEquipmentByTypeAxis__custom--TrailerMember_zd9XeeXF3HIe" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td&gt;Trailer&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;9,061&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;7,961&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,100&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_41C_20230630__us-gaap--PropertyPlantAndEquipmentByTypeAxis__custom--BoatMember_zWNyaHPtbdaf" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td&gt;Boat&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;34,400&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;29,006&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;5,394&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_417_20230630__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--LeaseholdImprovementsMember_zS3D62XI7jp3" 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: right"&gt;88,872&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;88,872&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="-sec-ix-hidden: xdx2ixbrl1081"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_412_20230630__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--DevelopedTechnologyRightsMember_zN70ijI21kyc" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td&gt;Technology&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;103,182&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;103,182&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="-sec-ix-hidden: xdx2ixbrl1084"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_418_20230630__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--LandMember_zM63yvzzqw7a" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-bottom: 1.5pt"&gt;Land&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;440,592&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="-sec-ix-hidden: xdx2ixbrl1086"&gt;&#x2014;&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;440,592&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: 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;$&lt;/td&gt;&lt;td id="xdx_98B_eus-gaap--PropertyPlantAndEquipmentGross_iI_c20230630_z2hU7JOV00K1" style="border-bottom: Black 1.5pt solid; text-align: right" title="Cost"&gt;22,189,708&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 id="xdx_980_eus-gaap--AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_iI_c20230630_zWDXrt7hCzY7" style="border-bottom: Black 1.5pt solid; text-align: right" title="Accumulated Depreciation"&gt;9,367,801&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 id="xdx_981_eus-gaap--PropertyPlantAndEquipmentNet_iI_c20230630_zgEGBrhXGGCa" style="border-bottom: Black 1.5pt solid; text-align: right" title="Property, plant and equipment, net, total"&gt;12,821,907&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 style="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0pt; margin-bottom: 0pt"&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; margin-left: auto; border-collapse: collapse; width: 85%; margin-right: auto"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_48C_eus-gaap--PropertyPlantAndEquipmentGross_iI_zeH2ouiyg1bg" style="text-align: center"&gt;December 31, 2022&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_487_eus-gaap--AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_iI_z00syL3iLUf1" style="text-align: center"&gt;Accumulated&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_481_eus-gaap--PropertyPlantAndEquipmentNet_iI_zMT5Tuc4tHr4" style="text-align: center"&gt;December 31, 2022&lt;/td&gt;&lt;td&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="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;Cost&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 colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;Depreciation&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 colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;Net&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_41A_20221231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--BuildingAndBuildingImprovementsMember_zviCQ3c7A1x3" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 37%; text-align: left"&gt;Buildings and improvements&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: 18%; text-align: right"&gt;8,775,629&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: 15%; text-align: right"&gt;3,310,920&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: 18%; text-align: right"&gt;5,464,709&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_414_20221231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--AutomobilesMember_zlfVfSN0rCs8" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td&gt;Automobiles&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;196,255&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;107,055&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;89,200&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_419_20221231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--ComputerEquipmentMember_zJzhxWWRooX" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Computer hardware&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;43,432&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;42,663&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;769&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_41D_20221231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--OfficeEquipmentMember_zCGKY18dFjYj" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Office equipment&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;133,280&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;112,782&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;20,498&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_410_20221231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--MachineryAndEquipmentMember_zdpkZ4NR8Wei" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Manufacturing equipment&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;8,634,063&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;4,891,736&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,742,327&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_419_20221231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__custom--TrailerMember_zwHlpZCWrDgk" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td&gt;Trailers&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;8,857&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;7,592&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,265&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_41F_20221231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__custom--BoatMember_zbK0Ed74fftb" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td&gt;Boat&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;34,400&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;27,907&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;6,493&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_418_20221231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--LeaseholdImprovementsMember_z2sdEPkIkGT" 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: right"&gt;88,872&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;88,872&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="-sec-ix-hidden: xdx2ixbrl1117"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_412_20221231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--DevelopedTechnologyRightsMember_zHwboTZI88Al" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td&gt;Technology&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;100,860&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;100,860&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="-sec-ix-hidden: xdx2ixbrl1120"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_415_20221231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--LandMember_znCkU7HIvzDa" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td&gt;Land&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;384,027&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="-sec-ix-hidden: xdx2ixbrl1122"&gt;&#x2014;&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;384,027&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;&#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 id="xdx_986_eus-gaap--PropertyPlantAndEquipmentGross_iI_c20221231_zfbomOSnbbxl" style="border-bottom: Black 1.5pt solid; text-align: right" title="Cost"&gt;18,399,675&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 id="xdx_98A_eus-gaap--AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_iI_c20221231_zV01X1Gkyhb1" style="border-bottom: Black 1.5pt solid; text-align: right" title="Accumulated Depreciation"&gt;8,690,387&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 id="xdx_984_eus-gaap--PropertyPlantAndEquipmentNet_iI_c20221231_zwNeLW32esPg" style="border-bottom: Black 1.5pt solid; text-align: right" title="Property, plant and equipment, net, total"&gt;9,709,288&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:PropertyPlantAndEquipmentTextBlock>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="AsOf2023-06-30_us-gaap_BuildingAndBuildingImprovementsMember"
      decimals="0"
      unitRef="USD">12065617</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
      contextRef="AsOf2023-06-30_us-gaap_BuildingAndBuildingImprovementsMember"
      decimals="0"
      unitRef="USD">3572013</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="AsOf2023-06-30_us-gaap_BuildingAndBuildingImprovementsMember"
      decimals="0"
      unitRef="USD">8493604</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="AsOf2023-06-30_us-gaap_AutomobilesMember"
      decimals="0"
      unitRef="USD">196255</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
      contextRef="AsOf2023-06-30_us-gaap_AutomobilesMember"
      decimals="0"
      unitRef="USD">124924</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="AsOf2023-06-30_us-gaap_AutomobilesMember"
      decimals="0"
      unitRef="USD">71331</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="AsOf2023-06-30_us-gaap_ComputerEquipmentMember"
      decimals="0"
      unitRef="USD">43490</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
      contextRef="AsOf2023-06-30_us-gaap_ComputerEquipmentMember"
      decimals="0"
      unitRef="USD">42826</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="AsOf2023-06-30_us-gaap_ComputerEquipmentMember"
      decimals="0"
      unitRef="USD">664</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="AsOf2023-06-30_us-gaap_OfficeEquipmentMember"
      decimals="0"
      unitRef="USD">134233</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
      contextRef="AsOf2023-06-30_us-gaap_OfficeEquipmentMember"
      decimals="0"
      unitRef="USD">117826</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="AsOf2023-06-30_us-gaap_OfficeEquipmentMember"
      decimals="0"
      unitRef="USD">16407</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="AsOf2023-06-30_us-gaap_MachineryAndEquipmentMember"
      decimals="0"
      unitRef="USD">9074006</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
      contextRef="AsOf2023-06-30_us-gaap_MachineryAndEquipmentMember"
      decimals="0"
      unitRef="USD">5281191</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="AsOf2023-06-30_us-gaap_MachineryAndEquipmentMember"
      decimals="0"
      unitRef="USD">3792815</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="AsOf2023-06-30_custom_TrailerMember"
      decimals="0"
      unitRef="USD">9061</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
      contextRef="AsOf2023-06-30_custom_TrailerMember"
      decimals="0"
      unitRef="USD">7961</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="AsOf2023-06-30_custom_TrailerMember"
      decimals="0"
      unitRef="USD">1100</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="AsOf2023-06-30_custom_BoatMember"
      decimals="0"
      unitRef="USD">34400</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
      contextRef="AsOf2023-06-30_custom_BoatMember"
      decimals="0"
      unitRef="USD">29006</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="AsOf2023-06-30_custom_BoatMember"
      decimals="0"
      unitRef="USD">5394</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="AsOf2023-06-30_us-gaap_LeaseholdImprovementsMember"
      decimals="0"
      unitRef="USD">88872</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
      contextRef="AsOf2023-06-30_us-gaap_LeaseholdImprovementsMember"
      decimals="0"
      unitRef="USD">88872</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="AsOf2023-06-30_us-gaap_DevelopedTechnologyRightsMember"
      decimals="0"
      unitRef="USD">103182</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
      contextRef="AsOf2023-06-30_us-gaap_DevelopedTechnologyRightsMember"
      decimals="0"
      unitRef="USD">103182</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="AsOf2023-06-30_us-gaap_LandMember"
      decimals="0"
      unitRef="USD">440592</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="AsOf2023-06-30_us-gaap_LandMember"
      decimals="0"
      unitRef="USD">440592</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentGross contextRef="AsOf2023-06-30" decimals="0" unitRef="USD">22189708</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment contextRef="AsOf2023-06-30" decimals="0" unitRef="USD">9367801</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:PropertyPlantAndEquipmentNet contextRef="AsOf2023-06-30" decimals="0" unitRef="USD">12821907</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="AsOf2022-12-31_us-gaap_BuildingAndBuildingImprovementsMember"
      decimals="0"
      unitRef="USD">8775629</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
      contextRef="AsOf2022-12-31_us-gaap_BuildingAndBuildingImprovementsMember"
      decimals="0"
      unitRef="USD">3310920</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="AsOf2022-12-31_us-gaap_BuildingAndBuildingImprovementsMember"
      decimals="0"
      unitRef="USD">5464709</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="AsOf2022-12-31_us-gaap_AutomobilesMember"
      decimals="0"
      unitRef="USD">196255</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
      contextRef="AsOf2022-12-31_us-gaap_AutomobilesMember"
      decimals="0"
      unitRef="USD">107055</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="AsOf2022-12-31_us-gaap_AutomobilesMember"
      decimals="0"
      unitRef="USD">89200</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="AsOf2022-12-31_us-gaap_ComputerEquipmentMember"
      decimals="0"
      unitRef="USD">43432</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
      contextRef="AsOf2022-12-31_us-gaap_ComputerEquipmentMember"
      decimals="0"
      unitRef="USD">42663</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="AsOf2022-12-31_us-gaap_ComputerEquipmentMember"
      decimals="0"
      unitRef="USD">769</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="AsOf2022-12-31_us-gaap_OfficeEquipmentMember"
      decimals="0"
      unitRef="USD">133280</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
      contextRef="AsOf2022-12-31_us-gaap_OfficeEquipmentMember"
      decimals="0"
      unitRef="USD">112782</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="AsOf2022-12-31_us-gaap_OfficeEquipmentMember"
      decimals="0"
      unitRef="USD">20498</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="AsOf2022-12-31_us-gaap_MachineryAndEquipmentMember"
      decimals="0"
      unitRef="USD">8634063</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
      contextRef="AsOf2022-12-31_us-gaap_MachineryAndEquipmentMember"
      decimals="0"
      unitRef="USD">4891736</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="AsOf2022-12-31_us-gaap_MachineryAndEquipmentMember"
      decimals="0"
      unitRef="USD">3742327</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="AsOf2022-12-31_custom_TrailerMember"
      decimals="0"
      unitRef="USD">8857</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
      contextRef="AsOf2022-12-31_custom_TrailerMember"
      decimals="0"
      unitRef="USD">7592</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="AsOf2022-12-31_custom_TrailerMember"
      decimals="0"
      unitRef="USD">1265</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="AsOf2022-12-31_custom_BoatMember"
      decimals="0"
      unitRef="USD">34400</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
      contextRef="AsOf2022-12-31_custom_BoatMember"
      decimals="0"
      unitRef="USD">27907</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="AsOf2022-12-31_custom_BoatMember"
      decimals="0"
      unitRef="USD">6493</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="AsOf2022-12-31_us-gaap_LeaseholdImprovementsMember"
      decimals="0"
      unitRef="USD">88872</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
      contextRef="AsOf2022-12-31_us-gaap_LeaseholdImprovementsMember"
      decimals="0"
      unitRef="USD">88872</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="AsOf2022-12-31_us-gaap_DevelopedTechnologyRightsMember"
      decimals="0"
      unitRef="USD">100860</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
      contextRef="AsOf2022-12-31_us-gaap_DevelopedTechnologyRightsMember"
      decimals="0"
      unitRef="USD">100860</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="AsOf2022-12-31_us-gaap_LandMember"
      decimals="0"
      unitRef="USD">384027</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="AsOf2022-12-31_us-gaap_LandMember"
      decimals="0"
      unitRef="USD">384027</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentGross contextRef="AsOf2022-12-31" decimals="0" unitRef="USD">18399675</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment contextRef="AsOf2022-12-31" decimals="0" unitRef="USD">8690387</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:PropertyPlantAndEquipmentNet contextRef="AsOf2022-12-31" decimals="0" unitRef="USD">9709288</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:Depreciation
      contextRef="From2023-01-01to2023-06-30"
      decimals="0"
      unitRef="USD">671574</us-gaap:Depreciation>
    <us-gaap:Depreciation
      contextRef="From2022-01-012022-06-30"
      decimals="0"
      unitRef="USD">384058</us-gaap:Depreciation>
    <us-gaap:IntangibleAssetsDisclosureTextBlock contextRef="From2023-01-01to2023-06-30">&lt;p id="xdx_801_eus-gaap--IntangibleAssetsDisclosureTextBlock_zvcm3j3s4ho6" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="font: small-caps 10pt Times New Roman, Times, Serif"&gt;&lt;b&gt;7.
&lt;span id="xdx_82A_zYFA18xdvfg1"&gt;PATENTS.&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="font: small-caps 10pt Times New Roman, Times, Serif"&gt;&lt;b&gt;&lt;span&gt;&#160;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_898_eus-gaap--ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock_ziv17z4SFR3h" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span style="display: none; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;span style="display: none"&gt;&lt;span id="xdx_8BE_zEPFlmYp8muc"&gt;SCHEDULE OF PATENTS&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&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; margin-left: auto; border-collapse: collapse; width: 85%; margin-right: auto"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;June 30, &lt;span style="font-variant: small-caps"&gt;2023&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Cost&lt;/span&gt;&lt;/p&gt;&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 colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;Accumulated &lt;br/&gt; 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 colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;June 30, &lt;span style="font-variant: small-caps"&gt;2023&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Net&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&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; width: 37%; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Patents&lt;/span&gt;&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_98B_eus-gaap--FiniteLivedPatentsGross_iI_pp0p0_c20230630_zMnK7JoUoW28" style="border-bottom: Black 1.5pt solid; width: 18%; text-align: right" title="Patents, cost"&gt;200,232&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_987_eus-gaap--FiniteLivedIntangibleAssetsAccumulatedAmortization_iI_pp0p0_c20230630_zuAzr7c0NP23" style="border-bottom: Black 1.5pt solid; width: 15%; text-align: right" title="Accumulated amortization"&gt;200,232&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%; font-variant: small-caps; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; width: 1%; font-variant: small-caps; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_980_eus-gaap--FiniteLivedIntangibleAssetsNet_iI_pp0p0_c20230630_z14TNRddv7s8" style="border-bottom: Black 1.5pt solid; width: 18%; font-variant: small-caps; text-align: right" title="Patents, net"&gt;&lt;span style="font: small-caps 10pt Times New Roman, Times, Serif"&gt;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&lt;span style="-sec-ix-hidden: xdx2ixbrl1143"&gt;-&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="width: 1%; padding-bottom: 1.5pt; font-variant: small-caps; 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: 0pt 0; text-align: center"&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; margin-left: auto; border-collapse: collapse; width: 85%; margin-right: auto"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;December
&lt;span style="font-variant: normal"&gt;31,2022 &lt;br/&gt;
Cost&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&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 colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;Accumulated &lt;br/&gt; 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 colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;December
&lt;span style="font-variant: normal"&gt;31,2022 &lt;br/&gt;
Net&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&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; width: 37%; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Patents&lt;/span&gt;&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_984_eus-gaap--FiniteLivedPatentsGross_iI_pp0p0_c20221231_z12Qdsx7e5o6" style="border-bottom: Black 1.5pt solid; width: 18%; text-align: right" title="Patents, cost"&gt;195,725&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--FiniteLivedIntangibleAssetsAccumulatedAmortization_iI_pp0p0_c20221231_zJYkgutBJDme" style="border-bottom: Black 1.5pt solid; width: 15%; text-align: right" title="Accumulated amortization"&gt;195,725&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%; font-variant: small-caps; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; width: 1%; font-variant: small-caps; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_982_eus-gaap--FiniteLivedIntangibleAssetsNet_iI_pp0p0_c20221231_zNZS1jteEVP" style="border-bottom: Black 1.5pt solid; width: 18%; font-variant: small-caps; text-align: right" title="Patents, net"&gt;&lt;span style="font: small-caps 10pt Times New Roman, Times, Serif"&gt;&#x202f;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&lt;span style="-sec-ix-hidden: xdx2ixbrl1149"&gt;-&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="width: 1%; padding-bottom: 1.5pt; font-variant: small-caps; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p id="xdx_8A8_zqHyFv9HJEv6" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"&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: 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Amount
of amortization for the period ended June 30, 2023 was $&lt;span id="xdx_90C_eus-gaap--AmortizationOfIntangibleAssets_dxL_c20230101__20230630__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__us-gaap--PatentsMember_zWPQALYK1EM" title="Amortization of intangible assets::XDX::-"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1151"&gt;nil&lt;/span&gt;&lt;/span&gt;
(2022 - $&lt;span id="xdx_908_eus-gaap--AmortizationOfIntangibleAssets_pp0p0_c20220101__20220630__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__us-gaap--PatentsMember_zTonivsqd9r4" title="Amortization of intangible assets"&gt;4,110&lt;/span&gt;)
and was included in cost of sales in the unaudited condensed interim consolidated statements of income and comprehensive
income.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 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:IntangibleAssetsDisclosureTextBlock>
    <us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock contextRef="From2023-01-01to2023-06-30">&lt;p id="xdx_898_eus-gaap--ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock_ziv17z4SFR3h" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span style="display: none; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;span style="display: none"&gt;&lt;span id="xdx_8BE_zEPFlmYp8muc"&gt;SCHEDULE OF PATENTS&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&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; margin-left: auto; border-collapse: collapse; width: 85%; margin-right: auto"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;June 30, &lt;span style="font-variant: small-caps"&gt;2023&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Cost&lt;/span&gt;&lt;/p&gt;&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 colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;Accumulated &lt;br/&gt; 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 colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;June 30, &lt;span style="font-variant: small-caps"&gt;2023&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Net&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&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; width: 37%; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Patents&lt;/span&gt;&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_98B_eus-gaap--FiniteLivedPatentsGross_iI_pp0p0_c20230630_zMnK7JoUoW28" style="border-bottom: Black 1.5pt solid; width: 18%; text-align: right" title="Patents, cost"&gt;200,232&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_987_eus-gaap--FiniteLivedIntangibleAssetsAccumulatedAmortization_iI_pp0p0_c20230630_zuAzr7c0NP23" style="border-bottom: Black 1.5pt solid; width: 15%; text-align: right" title="Accumulated amortization"&gt;200,232&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%; font-variant: small-caps; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; width: 1%; font-variant: small-caps; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_980_eus-gaap--FiniteLivedIntangibleAssetsNet_iI_pp0p0_c20230630_z14TNRddv7s8" style="border-bottom: Black 1.5pt solid; width: 18%; font-variant: small-caps; text-align: right" title="Patents, net"&gt;&lt;span style="font: small-caps 10pt Times New Roman, Times, Serif"&gt;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&lt;span style="-sec-ix-hidden: xdx2ixbrl1143"&gt;-&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="width: 1%; padding-bottom: 1.5pt; font-variant: small-caps; 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: 0pt 0; text-align: center"&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; margin-left: auto; border-collapse: collapse; width: 85%; margin-right: auto"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;December
&lt;span style="font-variant: normal"&gt;31,2022 &lt;br/&gt;
Cost&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&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 colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;Accumulated &lt;br/&gt; 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 colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;December
&lt;span style="font-variant: normal"&gt;31,2022 &lt;br/&gt;
Net&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&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; width: 37%; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Patents&lt;/span&gt;&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_984_eus-gaap--FiniteLivedPatentsGross_iI_pp0p0_c20221231_z12Qdsx7e5o6" style="border-bottom: Black 1.5pt solid; width: 18%; text-align: right" title="Patents, cost"&gt;195,725&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--FiniteLivedIntangibleAssetsAccumulatedAmortization_iI_pp0p0_c20221231_zJYkgutBJDme" style="border-bottom: Black 1.5pt solid; width: 15%; text-align: right" title="Accumulated amortization"&gt;195,725&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%; font-variant: small-caps; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; width: 1%; font-variant: small-caps; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_982_eus-gaap--FiniteLivedIntangibleAssetsNet_iI_pp0p0_c20221231_zNZS1jteEVP" style="border-bottom: Black 1.5pt solid; width: 18%; font-variant: small-caps; text-align: right" title="Patents, net"&gt;&lt;span style="font: small-caps 10pt Times New Roman, Times, Serif"&gt;&#x202f;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&lt;span style="-sec-ix-hidden: xdx2ixbrl1149"&gt;-&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="width: 1%; padding-bottom: 1.5pt; font-variant: small-caps; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

</us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock>
    <us-gaap:FiniteLivedPatentsGross contextRef="AsOf2023-06-30" decimals="0" unitRef="USD">200232</us-gaap:FiniteLivedPatentsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization contextRef="AsOf2023-06-30" decimals="0" unitRef="USD">200232</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedPatentsGross contextRef="AsOf2022-12-31" decimals="0" unitRef="USD">195725</us-gaap:FiniteLivedPatentsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization contextRef="AsOf2022-12-31" decimals="0" unitRef="USD">195725</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="From2022-01-012022-06-30_us-gaap_PatentsMember"
      decimals="0"
      unitRef="USD">4110</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock contextRef="From2023-01-01to2023-06-30">&lt;p id="xdx_807_eus-gaap--GoodwillAndIntangibleAssetsDisclosureTextBlock_z5Iw1FTNPZDc" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;8.
&lt;span style="font-variant: small-caps"&gt;&lt;span id="xdx_82E_zz5t2JWItHO9"&gt;GOODWILL AND INDEFINITE LIVED INTANGIBLE ASSETS.&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_898_eus-gaap--ScheduleOfIntangibleAssetsAndGoodwillTableTextBlock_zgQ7DxRuHYd5" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;span id="xdx_8B6_zUX07eGApUq" style="display: none"&gt;SCHEDULE
OF GOODWILL AND INDEFINITE LIVED INTANGIBLE ASSETS&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; margin-left: auto; border-collapse: collapse; width: 85%; margin-right: auto"&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td&gt;Goodwill&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="width: 80%; padding-bottom: 1.5pt"&gt;Balance as of December 31, 2021, 2022 and June 30, 2023&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 style="border-bottom: Black 1.5pt solid; width: 16%; text-align: right"&gt;&lt;span id="xdx_904_eus-gaap--Goodwill_iI_c20211231_zTTPqRngseY" title="Goodwill"&gt;&lt;span id="xdx_908_eus-gaap--Goodwill_iI_c20221231_zO3A21UBOrEe" title="Goodwill"&gt;&lt;span id="xdx_90F_eus-gaap--Goodwill_iI_c20230630_zpJ7JvyXWIL6" title="Goodwill"&gt;2,534,275&lt;/span&gt;&lt;/span&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;/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;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 1.5pt"&gt;Indefinite Lived Intangible 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;&#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: 1.5pt"&gt;Balance as of December 31, 2021, 2022 and June 30, 2023&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;&lt;span id="xdx_908_eus-gaap--IndefiniteLivedIntangibleAssetsExcludingGoodwill_iI_c20211231_zyskesyarFZf" title="Indefinite lived intangible assets, ending balance"&gt;&lt;span id="xdx_907_eus-gaap--IndefiniteLivedIntangibleAssetsExcludingGoodwill_iI_c20221231_zDAIc92HC4U3" title="Indefinite lived intangible assets, ending balance"&gt;&lt;span id="xdx_902_eus-gaap--IndefiniteLivedIntangibleAssetsExcludingGoodwill_iI_c20230630_zRwQn5eATBoi" title="Indefinite lived intangible assets, ending balance"&gt;770,000&lt;/span&gt;&lt;/span&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;/table&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Goodwill
relates to the acquisition of ENP Investments. Indefinite lived intangible assets consist of trade secrets and trademarks related to
the acquisition of ENP Investments.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&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; margin-left: auto; border-collapse: collapse; width: 75%; margin-right: auto"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;Definite Life Intangible Assets&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td&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;Balance as of December 31, 2021&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--IndefiniteLivedIntangibleAssetsExcludingGoodwill_iS_pp0p0_c20220101__20221231__dei--LegalEntityAxis__custom--EnPInvestmentsCorporationLLCMember_zDRhiCzosdt2" style="width: 16%; text-align: right" title="Indefinite lived intangible assets, beginning balance"&gt;1,830,000&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;Amortization&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--AmortizationOfIntangibleAssets_pp0p0_c20220101__20221231__dei--LegalEntityAxis__custom--EnPInvestmentsCorporationLLCMember_z0isNCm6TD8i" style="border-bottom: Black 1.5pt solid; text-align: right" title="Amortization"&gt;(160,000&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&gt;Balance as of December 31, 2022&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--IndefiniteLivedIntangibleAssetsExcludingGoodwill_iS_pp0p0_c20230101__20230630__dei--LegalEntityAxis__custom--EnPInvestmentsCorporationLLCMember_znpqxhrHPBYa" style="text-align: right" title="Indefinite lived intangible assets, beginning balance"&gt;1,670,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-bottom: 1.5pt"&gt;Amortization&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--AmortizationOfIntangibleAssets_pp0p0_c20230101__20230630__dei--LegalEntityAxis__custom--EnPInvestmentsCorporationLLCMember_zNz984yVhvz" style="border-bottom: Black 1.5pt solid; text-align: right" title="Amortization"&gt;(80,000&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: 1.5pt"&gt;Balance as of June 30, 2023&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--IndefiniteLivedIntangibleAssetsExcludingGoodwill_iE_pp0p0_c20230101__20230630__dei--LegalEntityAxis__custom--EnPInvestmentsCorporationLLCMember_zPdjsCpe1aac" style="border-bottom: Black 1.5pt solid; text-align: right" title="Indefinite lived intangible assets, ending balance"&gt;1,590,000&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_8A8_z6JTSFeYGalk" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Definite
life intangible assets consist of customer relationships and software related to the acquisition of ENP Investments.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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_891_eus-gaap--ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock_z4BHVt8YJuH6" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Estimated
amortization expense over the next five years is as follows:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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 style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;span id="xdx_8B7_z3frfV5IoNG3" style="display: none"&gt;SCHEDULE
OF ESTIMATED FUTURE AMORTIZATION EXPENSE&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; margin-left: auto; border-collapse: collapse; width: 70%; margin-right: auto"&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 80%; text-align: left"&gt;2023&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_eus-gaap--FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear_iI_c20230630__us-gaap--FairValueByAssetClassAxis__us-gaap--FiniteLivedIntangibleAssetsMember_ztiMLbRrKSud" style="width: 16%; text-align: right" title="2023"&gt;160,000&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;2024&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--FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_iI_c20230630__us-gaap--FairValueByAssetClassAxis__us-gaap--FiniteLivedIntangibleAssetsMember_zsSEERyDdIN" style="text-align: right" title="2024"&gt;160,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="text-align: left"&gt;2025&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--FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_iI_pp0p0_c20230630__us-gaap--FairValueByAssetClassAxis__us-gaap--FiniteLivedIntangibleAssetsMember_zHk2rYjwQiHf" style="text-align: right" title="2025"&gt;160,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="text-align: left"&gt;2026&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--FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_iI_pp0p0_c20230630__us-gaap--FairValueByAssetClassAxis__us-gaap--FiniteLivedIntangibleAssetsMember_zxvd9dTrqbyk" style="text-align: right" title="2026"&gt;160,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="text-align: left"&gt;2027&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--FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_iI_pp0p0_c20230630__us-gaap--FairValueByAssetClassAxis__us-gaap--FiniteLivedIntangibleAssetsMember_zeqDAMTEdI7b" style="text-align: right" title="2027"&gt;160,000&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p id="xdx_8A2_zQMd2TahMU9e" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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:GoodwillAndIntangibleAssetsDisclosureTextBlock>
    <us-gaap:ScheduleOfIntangibleAssetsAndGoodwillTableTextBlock contextRef="From2023-01-01to2023-06-30">&lt;p id="xdx_898_eus-gaap--ScheduleOfIntangibleAssetsAndGoodwillTableTextBlock_zgQ7DxRuHYd5" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;span id="xdx_8B6_zUX07eGApUq" style="display: none"&gt;SCHEDULE
OF GOODWILL AND INDEFINITE LIVED INTANGIBLE ASSETS&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; margin-left: auto; border-collapse: collapse; width: 85%; margin-right: auto"&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td&gt;Goodwill&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="width: 80%; padding-bottom: 1.5pt"&gt;Balance as of December 31, 2021, 2022 and June 30, 2023&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 style="border-bottom: Black 1.5pt solid; width: 16%; text-align: right"&gt;&lt;span id="xdx_904_eus-gaap--Goodwill_iI_c20211231_zTTPqRngseY" title="Goodwill"&gt;&lt;span id="xdx_908_eus-gaap--Goodwill_iI_c20221231_zO3A21UBOrEe" title="Goodwill"&gt;&lt;span id="xdx_90F_eus-gaap--Goodwill_iI_c20230630_zpJ7JvyXWIL6" title="Goodwill"&gt;2,534,275&lt;/span&gt;&lt;/span&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;/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;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 1.5pt"&gt;Indefinite Lived Intangible 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;&#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: 1.5pt"&gt;Balance as of December 31, 2021, 2022 and June 30, 2023&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;&lt;span id="xdx_908_eus-gaap--IndefiniteLivedIntangibleAssetsExcludingGoodwill_iI_c20211231_zyskesyarFZf" title="Indefinite lived intangible assets, ending balance"&gt;&lt;span id="xdx_907_eus-gaap--IndefiniteLivedIntangibleAssetsExcludingGoodwill_iI_c20221231_zDAIc92HC4U3" title="Indefinite lived intangible assets, ending balance"&gt;&lt;span id="xdx_902_eus-gaap--IndefiniteLivedIntangibleAssetsExcludingGoodwill_iI_c20230630_zRwQn5eATBoi" title="Indefinite lived intangible assets, ending balance"&gt;770,000&lt;/span&gt;&lt;/span&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;/table&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Goodwill
relates to the acquisition of ENP Investments. Indefinite lived intangible assets consist of trade secrets and trademarks related to
the acquisition of ENP Investments.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&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; margin-left: auto; border-collapse: collapse; width: 75%; margin-right: auto"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;Definite Life Intangible Assets&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td&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;Balance as of December 31, 2021&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--IndefiniteLivedIntangibleAssetsExcludingGoodwill_iS_pp0p0_c20220101__20221231__dei--LegalEntityAxis__custom--EnPInvestmentsCorporationLLCMember_zDRhiCzosdt2" style="width: 16%; text-align: right" title="Indefinite lived intangible assets, beginning balance"&gt;1,830,000&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;Amortization&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--AmortizationOfIntangibleAssets_pp0p0_c20220101__20221231__dei--LegalEntityAxis__custom--EnPInvestmentsCorporationLLCMember_z0isNCm6TD8i" style="border-bottom: Black 1.5pt solid; text-align: right" title="Amortization"&gt;(160,000&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&gt;Balance as of December 31, 2022&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--IndefiniteLivedIntangibleAssetsExcludingGoodwill_iS_pp0p0_c20230101__20230630__dei--LegalEntityAxis__custom--EnPInvestmentsCorporationLLCMember_znpqxhrHPBYa" style="text-align: right" title="Indefinite lived intangible assets, beginning balance"&gt;1,670,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-bottom: 1.5pt"&gt;Amortization&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--AmortizationOfIntangibleAssets_pp0p0_c20230101__20230630__dei--LegalEntityAxis__custom--EnPInvestmentsCorporationLLCMember_zNz984yVhvz" style="border-bottom: Black 1.5pt solid; text-align: right" title="Amortization"&gt;(80,000&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: 1.5pt"&gt;Balance as of June 30, 2023&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--IndefiniteLivedIntangibleAssetsExcludingGoodwill_iE_pp0p0_c20230101__20230630__dei--LegalEntityAxis__custom--EnPInvestmentsCorporationLLCMember_zPdjsCpe1aac" style="border-bottom: Black 1.5pt solid; text-align: right" title="Indefinite lived intangible assets, ending balance"&gt;1,590,000&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:ScheduleOfIntangibleAssetsAndGoodwillTableTextBlock>
    <us-gaap:Goodwill contextRef="AsOf2021-12-31" decimals="0" unitRef="USD">2534275</us-gaap:Goodwill>
    <us-gaap:Goodwill contextRef="AsOf2022-12-31" decimals="0" unitRef="USD">2534275</us-gaap:Goodwill>
    <us-gaap:Goodwill contextRef="AsOf2023-06-30" decimals="0" unitRef="USD">2534275</us-gaap:Goodwill>
    <us-gaap:IndefiniteLivedIntangibleAssetsExcludingGoodwill contextRef="AsOf2021-12-31" decimals="0" unitRef="USD">770000</us-gaap:IndefiniteLivedIntangibleAssetsExcludingGoodwill>
    <us-gaap:IndefiniteLivedIntangibleAssetsExcludingGoodwill contextRef="AsOf2022-12-31" decimals="0" unitRef="USD">770000</us-gaap:IndefiniteLivedIntangibleAssetsExcludingGoodwill>
    <us-gaap:IndefiniteLivedIntangibleAssetsExcludingGoodwill contextRef="AsOf2023-06-30" decimals="0" unitRef="USD">770000</us-gaap:IndefiniteLivedIntangibleAssetsExcludingGoodwill>
    <us-gaap:IndefiniteLivedIntangibleAssetsExcludingGoodwill
      contextRef="AsOf2021-12-31_custom_EnPInvestmentsCorporationLLCMember"
      decimals="0"
      unitRef="USD">1830000</us-gaap:IndefiniteLivedIntangibleAssetsExcludingGoodwill>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="From2022-01-012022-12-31_custom_EnPInvestmentsCorporationLLCMember"
      decimals="0"
      unitRef="USD">-160000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:IndefiniteLivedIntangibleAssetsExcludingGoodwill
      contextRef="AsOf2022-12-31_custom_EnPInvestmentsCorporationLLCMember"
      decimals="0"
      unitRef="USD">1670000</us-gaap:IndefiniteLivedIntangibleAssetsExcludingGoodwill>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="From2023-01-012023-06-30_custom_EnPInvestmentsCorporationLLCMember"
      decimals="0"
      unitRef="USD">-80000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:IndefiniteLivedIntangibleAssetsExcludingGoodwill
      contextRef="AsOf2023-06-30_custom_EnPInvestmentsCorporationLLCMember"
      decimals="0"
      unitRef="USD">1590000</us-gaap:IndefiniteLivedIntangibleAssetsExcludingGoodwill>
    <us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock contextRef="From2023-01-01to2023-06-30">&lt;p id="xdx_891_eus-gaap--ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock_z4BHVt8YJuH6" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Estimated
amortization expense over the next five years is as follows:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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 style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;span id="xdx_8B7_z3frfV5IoNG3" style="display: none"&gt;SCHEDULE
OF ESTIMATED FUTURE AMORTIZATION EXPENSE&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; margin-left: auto; border-collapse: collapse; width: 70%; margin-right: auto"&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 80%; text-align: left"&gt;2023&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_eus-gaap--FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear_iI_c20230630__us-gaap--FairValueByAssetClassAxis__us-gaap--FiniteLivedIntangibleAssetsMember_ztiMLbRrKSud" style="width: 16%; text-align: right" title="2023"&gt;160,000&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;2024&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--FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_iI_c20230630__us-gaap--FairValueByAssetClassAxis__us-gaap--FiniteLivedIntangibleAssetsMember_zsSEERyDdIN" style="text-align: right" title="2024"&gt;160,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="text-align: left"&gt;2025&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--FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_iI_pp0p0_c20230630__us-gaap--FairValueByAssetClassAxis__us-gaap--FiniteLivedIntangibleAssetsMember_zHk2rYjwQiHf" style="text-align: right" title="2025"&gt;160,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="text-align: left"&gt;2026&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--FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_iI_pp0p0_c20230630__us-gaap--FairValueByAssetClassAxis__us-gaap--FiniteLivedIntangibleAssetsMember_zxvd9dTrqbyk" style="text-align: right" title="2026"&gt;160,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="text-align: left"&gt;2027&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--FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_iI_pp0p0_c20230630__us-gaap--FairValueByAssetClassAxis__us-gaap--FiniteLivedIntangibleAssetsMember_zeqDAMTEdI7b" style="text-align: right" title="2027"&gt;160,000&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

</us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear
      contextRef="AsOf2023-06-30_us-gaap_FiniteLivedIntangibleAssetsMember"
      decimals="0"
      unitRef="USD">160000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths
      contextRef="AsOf2023-06-30_us-gaap_FiniteLivedIntangibleAssetsMember"
      decimals="0"
      unitRef="USD">160000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo
      contextRef="AsOf2023-06-30_us-gaap_FiniteLivedIntangibleAssetsMember"
      decimals="0"
      unitRef="USD">160000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree
      contextRef="AsOf2023-06-30_us-gaap_FiniteLivedIntangibleAssetsMember"
      decimals="0"
      unitRef="USD">160000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFour
      contextRef="AsOf2023-06-30_us-gaap_FiniteLivedIntangibleAssetsMember"
      decimals="0"
      unitRef="USD">160000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFour>
    <FSI:LongTermDepositsTextBlock contextRef="From2023-01-01to2023-06-30">&lt;p id="xdx_80F_ecustom--LongTermDepositsTextBlock_zNYlCVZ64Jv8" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="font: small-caps 10pt Times New Roman, Times, Serif"&gt;&lt;b&gt;9.
&lt;span id="xdx_82E_zBtNJT5zdjd"&gt;LONG TERM DEPOSITS.&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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_895_ecustom--ScheduleOfLongTermDepositsTableTextBlock_zfBP8ViVkmJi" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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 reclassified certain security deposits to better reflect their long term nature. Long term deposits consist of damage deposits
held by landlords and security deposits held by various vendors.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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 style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;span id="xdx_8B9_zwaZSmTUpsL8" style="display: none; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;SCHEDULE
OF LONG TERM DEPOSITS&lt;/span&gt;&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; margin-left: auto; border-collapse: collapse; width: 85%; margin-right: auto"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_49B_20230630_zvPngWzGVTuc" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;June 30, 2023&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 colspan="2" id="xdx_490_20221231_zcIuPhioeLN5" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;December 31, 2022&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&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="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="padding-bottom: 1.5pt; text-align: center"&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 colspan="2" style="padding-bottom: 1.5pt; text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_409_eus-gaap--DepositsAssetsNoncurrent_iI_pp0p0" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 57%; text-align: left; padding-bottom: 1.5pt"&gt;Long term deposits&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 style="border-bottom: Black 1.5pt solid; width: 15%; text-align: right"&gt;370,156&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 style="border-bottom: Black 1.5pt solid; width: 20%; text-align: right"&gt;8,540&lt;/td&gt;&lt;td style="width: 1%; padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p id="xdx_8AE_zYetJdpg7aw5" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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;

</FSI:LongTermDepositsTextBlock>
    <FSI:ScheduleOfLongTermDepositsTableTextBlock contextRef="From2023-01-01to2023-06-30">&lt;p id="xdx_895_ecustom--ScheduleOfLongTermDepositsTableTextBlock_zfBP8ViVkmJi" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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 reclassified certain security deposits to better reflect their long term nature. Long term deposits consist of damage deposits
held by landlords and security deposits held by various vendors.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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 style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;span id="xdx_8B9_zwaZSmTUpsL8" style="display: none; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;SCHEDULE
OF LONG TERM DEPOSITS&lt;/span&gt;&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; margin-left: auto; border-collapse: collapse; width: 85%; margin-right: auto"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_49B_20230630_zvPngWzGVTuc" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;June 30, 2023&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 colspan="2" id="xdx_490_20221231_zcIuPhioeLN5" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;December 31, 2022&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&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="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="padding-bottom: 1.5pt; text-align: center"&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 colspan="2" style="padding-bottom: 1.5pt; text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_409_eus-gaap--DepositsAssetsNoncurrent_iI_pp0p0" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 57%; text-align: left; padding-bottom: 1.5pt"&gt;Long term deposits&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 style="border-bottom: Black 1.5pt solid; width: 15%; text-align: right"&gt;370,156&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 style="border-bottom: Black 1.5pt solid; width: 20%; text-align: right"&gt;8,540&lt;/td&gt;&lt;td style="width: 1%; padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

</FSI:ScheduleOfLongTermDepositsTableTextBlock>
    <us-gaap:DepositsAssetsNoncurrent contextRef="AsOf2023-06-30" decimals="0" unitRef="USD">370156</us-gaap:DepositsAssetsNoncurrent>
    <us-gaap:DepositsAssetsNoncurrent contextRef="AsOf2022-12-31" decimals="0" unitRef="USD">8540</us-gaap:DepositsAssetsNoncurrent>
    <us-gaap:EquityMethodInvestmentsDisclosureTextBlock contextRef="From2023-01-01to2023-06-30">&lt;p id="xdx_807_eus-gaap--EquityMethodInvestmentsDisclosureTextBlock_zODEIVIvF1g2" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="font: small-caps 10pt Times New Roman, Times, Serif"&gt;&lt;b&gt;10.
&lt;span id="xdx_82F_zCYGYPZF5PI5"&gt;INVESTMENTS.&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify"&gt;&lt;span style="font: small-caps 10pt Times New Roman, Times, Serif"&gt;&lt;b&gt;(&lt;/b&gt;&lt;/span&gt;&lt;b&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;a&lt;span style="font-variant: small-caps"&gt;) &lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company previously held a &lt;span id="xdx_903_eus-gaap--EquityMethodInvestmentOwnershipPercentage_iI_pid_dp_uPure_c20161231__srt--ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis__custom--EnpPeruInvestmentsLlcMember_z522ZtCyPI18" title="Ownership interest"&gt;50&lt;/span&gt;%
ownership interest in ENP Peru, split between NanoChem (&lt;span id="xdx_909_eus-gaap--EquityMethodInvestmentOwnershipPercentage_iI_pid_dp_uPure_c20161231__srt--ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis__custom--NanoChemMember_zUFE9PGQw9Z7" title="Ownership percentage"&gt;41.67&lt;/span&gt;%)
and ENP Investments (&lt;span id="xdx_904_eus-gaap--EquityMethodInvestmentOwnershipPercentage_iI_pid_dp_uPure_c20161231__srt--ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis__custom--ENPInvestmentsLLCMember_zWs9Glgl0B8i" title="Equity method investment ownership percentage"&gt;8.33&lt;/span&gt;%),
which was acquired in fiscal 2016. ENP Peru is located in Illinois and leases warehouse space. In June 2022, NanoChem acquired an
additional &lt;span id="xdx_903_ecustom--AdditionalEquityMethodInvestmentOwnershipPercentage_iI_pid_dp_uPure_c20220630__srt--ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis__custom--NanoChemMember_z10r9QEPrWw1" title="Additional ownership interest"&gt;50&lt;/span&gt;%
ownership interest at a cost of $&lt;span id="xdx_906_ecustom--RemainningShareOutstanding_c20220601__20220630__srt--OwnershipAxis__custom--ENPPeruMember_z3aHRB0GszZ" title="Remainning share outstanding"&gt;506,659&lt;/span&gt;
paid through a new $&lt;span id="xdx_906_eus-gaap--Cash_iI_c20220630__srt--OwnershipAxis__custom--ENPPeruMember_zd0NaZsxrTcl" title="Cash"&gt;259,000&lt;/span&gt;
mortgage and cash on hand. The &lt;span id="xdx_900_eus-gaap--MinorityInterestOwnershipPercentageByParent_iI_pid_dp_uPure_c20230630__srt--OwnershipAxis__custom--EnpnvestmentsLlcMember_zLdYPY1NqMZ4" title="Minority Interest Ownership Percentage"&gt;35&lt;/span&gt;%
non-controlling interest of the &lt;span id="xdx_903_eus-gaap--EquityMethodInvestmentOwnershipPercentage_iI_pid_dp_uPure_c20230630__srt--ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis__custom--ENPInvestmentsLLCMember_z4ihO07wTuZb" title="Equity method investment ownership percentage"&gt;8.33&lt;/span&gt;%
owned by ENP Investments is included in non-controlling interest in these consolidated financial statements. The Company&#x2019;s
investment in ENP Peru was previously accounted for using the equity method, however, it is now consolidated into the consolidated
financial statements from the date control was obtained. In June 2023, NanoChem purchased the remaining &lt;span id="xdx_904_eus-gaap--EquityMethodInvestmentOwnershipPercentage_iI_pid_dp_uPure_c20230630__srt--ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis__custom--ENPInvestmentsLLCMember_zorAoWOoiKP5" title="Equity method investment ownership percentage"&gt;8.33&lt;/span&gt;% of ENP Peru from ENP Investments to become full owner.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;It
was determined that ENP Peru did not meet the definition of a business in accordance with FASB Codification Topic 805, &lt;i&gt;Business Combinations
&lt;/i&gt;(ASC 805)&lt;i&gt;, &lt;/i&gt;and the acquisition was accounted for as an asset acquisition. The following table summarizes the final purchase
price allocation of the consideration paid to the respective fair values of the assets acquired and liabilities assumed in ENP Peru as
of the acquisition date. The gain on acquisition of ENP Peru represents a gain on remeasurement of the Company&#x2019;s equity method
investment immediately prior to the acquisition date.&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_897_eus-gaap--ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock_hdei--LegalEntityAxis__custom--EnpPeruInvestmentsLlcMember_zGpux7scJJo8" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;span style="display: none"&gt;&lt;span id="xdx_8BA_zQhpQ5kCCx5"&gt;SCHEDULE
OF  FAIR VALUES OF THE ASSETS ACQUIRED AND LIABILITIES ASSUMED&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 80%; margin-right: auto"&gt;
  &lt;tr style="display: none; vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; 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_492_20220101__20221231_zoN9lEH5BmT9" style="border-bottom: Black 1.5pt solid; 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 id="xdx_40D_eus-gaap--BusinessCombinationConsiderationTransferred1_zBPfCXI0EeU1" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 80%; text-align: left; padding-bottom: 1.5pt"&gt;Purchase consideration&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 style="border-bottom: Black 1.5pt solid; width: 16%; text-align: right"&gt;506,659&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: 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;Assets acquired:&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_40A_eus-gaap--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents_iE_zaZYAudnUAU" 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;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;7,330&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_403_eus-gaap--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedBuildings_iE_z2pW9t3KxLD2" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt"&gt;Building&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,750,000&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40D_eus-gaap--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLand_iE_z1LTSlEcHrJg" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt"&gt;Land&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;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: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;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 id="xdx_404_eus-gaap--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities_iNE_di_zyvxsNazua3c" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt; text-align: left"&gt;Deferred tax liability&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;(174,582&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_404_ecustom--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLongTermDebt_iE_zgEEtzu7ez2" 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;Long term debt&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;(2,849,500&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_404_eus-gaap--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets_iE_z1Z3GqEDcyu8" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 1.5pt"&gt;Total identifiable net 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;883,248&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_405_ecustom--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLessPurchasePrice_iE_z4NqH8NQChQ2" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Excess of assets acquired over consideration&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;376,589&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40F_ecustom--InvestmentEliminatedUponConsolidation_zwaA9rHXPBV8" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 1.5pt"&gt;Less investment eliminated upon consolidation&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;(41,538&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40D_ecustom--GainOnAcquisitionOfSubsidiary_ztnKY6jzALW9" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-bottom: 1.5pt"&gt;Gain on acquisition of ENP Peru&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;335,051&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_8A0_zLztuDkpAKIi" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"&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--EquityMethodInvestmentsTextBlock_hdei--LegalEntityAxis__custom--EnpPeruInvestmentsLlcMember_zN84hMiJRnJj" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.7in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;A
summary of the Company&#x2019;s investment follows:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;span style="display: none"&gt;&lt;span id="xdx_8BE_zVbwgKDlORsg"&gt;SCHEDULE OF EQUITY METHOD INVESTMENT&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 80%; margin-right: auto"&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 80%"&gt;Balance, December 31, 2021&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--EquityMethodInvestments_iS_c20220101__20221231__dei--LegalEntityAxis__custom--EnpPeruInvestmentsLlcMember_zjzxFfIMZPCa" style="width: 16%; text-align: right" title="Balance, Beginning"&gt;22,642&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;Return of equity&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--EquityMethodInvestmentReturnOfEquity_c20220101__20221231__dei--LegalEntityAxis__custom--EnpPeruInvestmentsLlcMember_zHMkZGa0SSQc" style="text-align: right" title="Return of equity"&gt;(8,750&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;Gain in equity method investment&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--EquityMethodInvestmentRealizedGainLossOnDisposal_c20220101__20221231__dei--LegalEntityAxis__custom--EnpPeruInvestmentsLlcMember_zVUMbyZaJ8Cd" style="text-align: right" title="Gain in equity method investment"&gt;27,646&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;Investment eliminated upon consolidation&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--InvestmentEliminatedUponConsolidation_c20220101__20221231__dei--LegalEntityAxis__custom--EnpPeruInvestmentsLlcMember_zG5idIFlrCJ3" style="border-bottom: Black 1.5pt solid; text-align: right" title="Investment eliminated upon consolidation"&gt;(41,538&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, December 31, 2022 and June 30, 2023&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--EquityMethodInvestments_iE_c20220101__20221231__dei--LegalEntityAxis__custom--EnpPeruInvestmentsLlcMember_z6tJmDFQQVSc" style="border-bottom: Black 2.5pt double; text-align: right" title="Balance, Ending"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1252"&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_8AF_zs5QtNXHZbnf" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify"&gt;&lt;span style="font: small-caps 10pt Times New Roman, Times, Serif"&gt;&lt;b&gt;(&lt;/b&gt;&lt;/span&gt;&lt;b&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;b&lt;span style="font-variant: small-caps"&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;In December 2018 the Company invested $&lt;span id="xdx_90F_eus-gaap--Investments_iI_c20181201__dei--LegalEntityAxis__custom--AppliedHoldingCorpMember_z3pxXhjIBVYi" title="Investment"&gt;200,000&lt;/span&gt;
in Applied Holding Corp. (&#x201c;Applied&#x201d;). Applied is a captive insurance company and the Company received a non-convertible promissory
note for its investment which becomes due in 2021 but may be extended with notice for a maximum of two years. During the year ended December
31, 2021, the Company entered an agreement with Applied to extend the maturity date of this promissory note to &lt;span id="xdx_901_eus-gaap--DebtInstrumentMaturityDate_dd_c20210101__20211231_zzhITj6YbW19" title="Debt maturity date"&gt;December 6, 2023&lt;/span&gt;. In accordance
with FASB Codification Topic 323, &lt;i&gt;Investments &#x2013; Equity Method and Joint Ventures&lt;/i&gt; (ASC 323), the Company has elected to account
for this investment at cost.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify"&gt;&lt;span style="font: small-caps 10pt Times New Roman, Times, Serif"&gt;&lt;b&gt;(&lt;/b&gt;&lt;/span&gt;&lt;b&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;c&lt;span style="font-variant: small-caps"&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;In December 2018 the Company invested $&lt;span id="xdx_90A_eus-gaap--Investments_iI_c20181201__dei--LegalEntityAxis__custom--TrioOpportunityCorpMember_zTqLNi5a1LT2" title="Investment"&gt;500,000
&lt;/span&gt;in Trio Opportunity Corp. (&#x201c;Trio&#x201d;), a privately held entity and a further $&lt;span id="xdx_908_eus-gaap--Investments_iI_c20230430__dei--LegalEntityAxis__custom--TrioOpportunityCorpMember_z3z1tF3v4Wo6" title="Investment"&gt;470,000&lt;/span&gt; was invested in April 2023. Trio is a
real estate investment vehicle and the Company received &lt;span id="xdx_90B_eus-gaap--StockIssuedDuringPeriodSharesNewIssues_pid_c20181201__20181231__us-gaap--StatementClassOfStockAxis__us-gaap--CommonClassBMember__dei--LegalEntityAxis__custom--TrioOpportunityCorpMember_zeSQ5DjVSxta" title="Common stock issued, shares"&gt;97,000&lt;/span&gt; non-voting Class B shares at $&lt;span id="xdx_903_eus-gaap--SharePrice_iI_pid_c20181231__us-gaap--StatementClassOfStockAxis__us-gaap--CommonClassBMember__dei--LegalEntityAxis__custom--TrioOpportunityCorpMember_zAonPGn3xza1" title="Share price"&gt;10.00&lt;/span&gt;/share. In accordance with FASB Codification
Topic 321, &lt;i&gt;Investments &#x2013; Equity Securities (&lt;/i&gt;ASC 321), the Company has elected to account for this investment at cost.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 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: 0pt 0; text-align: justify"&gt;&lt;span style="font: small-caps 10pt Times New Roman, Times, Serif"&gt;&lt;b&gt;(&lt;/b&gt;&lt;/span&gt;&lt;b&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;d&lt;span style="font-variant: small-caps"&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;In January 2019, the Company invested in
a Florida based LLC that is engaged in international sales of fertilizer additives. The Company accounts for this investment using the
equity method of accounting. According to the operating agreement, the Company has a &lt;span id="xdx_906_eus-gaap--EquityMethodInvestmentOwnershipPercentage_iI_pid_dp_uPure_c20190131__srt--ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis__custom--FloridaBasedLLCMember_zpkIkdpMIkhi" title="Ownership percentage"&gt;50&lt;/span&gt;% interest in the profit and loss of the Florida
based LLC but does not have control. A summary of the Company&#x2019;s investment follows:&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_890_eus-gaap--EquityMethodInvestmentsTextBlock_hdei--LegalEntityAxis__custom--FloridaBasedLLCMember_zBjsrUFwDXwb" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_8B4_zInUQE4iLXN7" style="display: none"&gt;SCHEDULE
OF EQUITY METHOD INVESTMENT&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 80%; margin-right: auto"&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 80%"&gt;Balance, December 31, 2021&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_983_eus-gaap--EquityMethodInvestments_iS_pp0p0_c20220101__20221231__dei--LegalEntityAxis__custom--FloridaBasedLLCMember_zUWqkZfY7bw7" style="width: 16%; text-align: right" title="Balance, Beginning"&gt;3,701,368&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;Gain in equity method investment&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--EquityMethodInvestmentRealizedGainLossOnDisposal_pp0p0_c20220101__20221231__dei--LegalEntityAxis__custom--FloridaBasedLLCMember_z37oPXNenad9" style="text-align: right" title="Gain in equity method investment"&gt;307,527&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;Return of equity&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_98C_ecustom--EquityMethodInvestmentReturnOfEquity_pp0p0_c20220101__20221231__dei--LegalEntityAxis__custom--FloridaBasedLLCMember_zfgGkQgZe7Jh" style="border-bottom: Black 1.5pt solid; text-align: right" title="Return of equity"&gt;(250,000&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&gt;Balance, December 31, 2022&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--EquityMethodInvestments_iS_pp0p0_c20230101__20230630__dei--LegalEntityAxis__custom--FloridaBasedLLCMember_zSaxRZhUVNJ6" style="text-align: right" title="Balance, Beginning"&gt;3,758,895&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;Gain in equity method investment&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_985_eus-gaap--EquityMethodInvestmentRealizedGainLossOnDisposal_pp0p0_c20230101__20230630__dei--LegalEntityAxis__custom--FloridaBasedLLCMember_zsnv3SXJ90M3" style="border-bottom: Black 1.5pt solid; text-align: right" title="Gain in equity method investment"&gt;326,703&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;Balance, June 30, 2023&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_981_eus-gaap--EquityMethodInvestments_iE_pp0p0_c20230101__20230630__dei--LegalEntityAxis__custom--FloridaBasedLLCMember_z6N5Et2tU8Zb" style="border-bottom: Black 1.5pt solid; text-align: right" title="Balance, Ending"&gt;4,085,598&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_8A9_zIrUf6EJ65Fc" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"&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--GainLossOnInvestmentsTextBlock_hdei--LegalEntityAxis__custom--FloridaBasedLLCMember_zD2EzOwkOrY6" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Summarized
profit and loss information related to the equity accounted investment is as follows:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_8B3_z4kOik6t2gI2" style="display: none"&gt;SUMMARY
OF PROFIT AND LOSS INFORMATION RELATED TO EQUITY ACCOUNTED INVESTMENT&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 95%; margin-right: auto"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_495_20230101__20230630_zIgksEyXaSbl" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;Six months ended&lt;br/&gt; June 30, 2023&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 colspan="2" id="xdx_491_20220101__20220630_z4mcMtjaeA76" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;Six months ended&lt;br/&gt; June 30, 2022&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&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" style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_402_eus-gaap--GainsLossesOnSalesOfInvestmentRealEstate_zvEVn5AzFCD2" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 60%; text-align: left"&gt;Net sales&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;8,231,298&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;4,987,836&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40A_eus-gaap--RealizedInvestmentGainsLosses_zHEIgNLGGJv4" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Gross profit&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;2,435,858&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,850,172&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_402_ecustom--RealizedInvestmentGainsLossesNet_zoNTJbfIBWa5" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Net income&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;653,407&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;766,167&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_zf7S1BZ45QGb" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 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 six months ended June 30, 2023, the Company had sales of $&lt;span id="xdx_90D_eus-gaap--Revenues_c20230101__20230630__dei--LegalEntityAxis__custom--FloridaBasedLLCMember_zCTOQVucwfr4" title="Sales"&gt;5,091,764&lt;/span&gt; (2022 - $&lt;span id="xdx_903_eus-gaap--Revenues_c20220101__20220630__dei--LegalEntityAxis__custom--FloridaBasedLLCMember_zx4baBPIkuf3" title="Sales"&gt;5,450,698&lt;/span&gt;) to the &lt;span&gt;&lt;span&gt;Florida Based LLC&lt;/span&gt;&lt;/span&gt;, of which $&lt;span id="xdx_908_eus-gaap--AccountsReceivableNet_iI_c20230630__dei--LegalEntityAxis__custom--FloridaBasedLLCMember_zzLcCNiAQk0e" title="Accounts receivable related parties"&gt;2,851,981&lt;/span&gt;
is included within &lt;span&gt;&lt;span&gt;accounts receivable&lt;/span&gt;&lt;/span&gt; as at June 30, 2023 (December 31, 2022 - $&lt;span id="xdx_90C_eus-gaap--AccountsReceivableNet_iI_c20221231__dei--LegalEntityAxis__custom--FloridaBasedLLCMember_zjpVHl0MGWdj" title="Accounts receivable related parties"&gt;2,423,285&lt;/span&gt;).&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;(e)
&lt;/b&gt;In December 2020, the Company invested $&lt;span id="xdx_906_eus-gaap--PaymentsToAcquireInvestments_pp0p0_c20201201__20201231__dei--LegalEntityAxis__custom--LygosIncMember_zretFCCSMc3g"&gt;500,000&lt;/span&gt; in Lygos Inc. (&#x201c;Lygos&#x201d;), a privately held entity, under a Simple Agreement
for Future Equity (&#x201c;SAFE&#x201d;) agreement. Lygos is a company developing a sustainable aspartic acid microbe strain. In 2021,
the Company made a second SAFE investment of $&lt;span id="xdx_903_eus-gaap--PaymentsToAcquireInvestments_c20210101__20211231__dei--LegalEntityAxis__custom--LygosIncMember_ziztX87oj3vi"&gt;500,000&lt;/span&gt; for a total of $&lt;span id="xdx_90D_eus-gaap--Investments_iI_c20211231__dei--LegalEntityAxis__custom--LygosIncMember_zhpUlNzmUVW5" title="Investment"&gt;1,000,000&lt;/span&gt;. In accordance with ASC 321, the Company has elected
to account for this investment at cost.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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:EquityMethodInvestmentsDisclosureTextBlock>
    <us-gaap:EquityMethodInvestmentOwnershipPercentage
      contextRef="AsOf2016-12-31_custom_EnpPeruInvestmentsLlcMember"
      decimals="INF"
      unitRef="Pure">0.50</us-gaap:EquityMethodInvestmentOwnershipPercentage>
    <us-gaap:EquityMethodInvestmentOwnershipPercentage
      contextRef="AsOf2016-12-31_custom_NanoChemMember"
      decimals="INF"
      unitRef="Pure">0.4167</us-gaap:EquityMethodInvestmentOwnershipPercentage>
    <us-gaap:EquityMethodInvestmentOwnershipPercentage
      contextRef="AsOf2016-12-31_custom_ENPInvestmentsLLCMember"
      decimals="INF"
      unitRef="Pure">0.0833</us-gaap:EquityMethodInvestmentOwnershipPercentage>
    <FSI:AdditionalEquityMethodInvestmentOwnershipPercentage
      contextRef="AsOf2022-06-30_custom_NanoChemMember"
      decimals="INF"
      unitRef="Pure">0.50</FSI:AdditionalEquityMethodInvestmentOwnershipPercentage>
    <FSI:RemainningShareOutstanding
      contextRef="From2022-06-012022-06-30_custom_ENPPeruMember"
      decimals="0"
      unitRef="USD">506659</FSI:RemainningShareOutstanding>
    <us-gaap:Cash
      contextRef="AsOf2022-06-30_custom_ENPPeruMember"
      decimals="0"
      unitRef="USD">259000</us-gaap:Cash>
    <us-gaap:MinorityInterestOwnershipPercentageByParent
      contextRef="AsOf2023-06-30_custom_EnpnvestmentsLlcMember"
      decimals="INF"
      unitRef="Pure">0.35</us-gaap:MinorityInterestOwnershipPercentageByParent>
    <us-gaap:EquityMethodInvestmentOwnershipPercentage
      contextRef="AsOf2023-06-30_custom_ENPInvestmentsLLCMember"
      decimals="INF"
      unitRef="Pure">0.0833</us-gaap:EquityMethodInvestmentOwnershipPercentage>
    <us-gaap:EquityMethodInvestmentOwnershipPercentage
      contextRef="AsOf2023-06-30_custom_ENPInvestmentsLLCMember"
      decimals="INF"
      unitRef="Pure">0.0833</us-gaap:EquityMethodInvestmentOwnershipPercentage>
    <us-gaap:ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock contextRef="From2023-01-012023-06-30_custom_EnpPeruInvestmentsLlcMember418055859">&lt;p id="xdx_897_eus-gaap--ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock_hdei--LegalEntityAxis__custom--EnpPeruInvestmentsLlcMember_zGpux7scJJo8" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;span style="display: none"&gt;&lt;span id="xdx_8BA_zQhpQ5kCCx5"&gt;SCHEDULE
OF  FAIR VALUES OF THE ASSETS ACQUIRED AND LIABILITIES ASSUMED&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 80%; margin-right: auto"&gt;
  &lt;tr style="display: none; vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; 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_492_20220101__20221231_zoN9lEH5BmT9" style="border-bottom: Black 1.5pt solid; 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 id="xdx_40D_eus-gaap--BusinessCombinationConsiderationTransferred1_zBPfCXI0EeU1" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 80%; text-align: left; padding-bottom: 1.5pt"&gt;Purchase consideration&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 style="border-bottom: Black 1.5pt solid; width: 16%; text-align: right"&gt;506,659&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: 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;Assets acquired:&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_40A_eus-gaap--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents_iE_zaZYAudnUAU" 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;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;7,330&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_403_eus-gaap--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedBuildings_iE_z2pW9t3KxLD2" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt"&gt;Building&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,750,000&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40D_eus-gaap--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLand_iE_z1LTSlEcHrJg" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt"&gt;Land&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;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: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;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 id="xdx_404_eus-gaap--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities_iNE_di_zyvxsNazua3c" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt; text-align: left"&gt;Deferred tax liability&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;(174,582&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_404_ecustom--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLongTermDebt_iE_zgEEtzu7ez2" 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;Long term debt&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;(2,849,500&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_404_eus-gaap--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets_iE_z1Z3GqEDcyu8" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 1.5pt"&gt;Total identifiable net 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;883,248&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_405_ecustom--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLessPurchasePrice_iE_z4NqH8NQChQ2" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Excess of assets acquired over consideration&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;376,589&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40F_ecustom--InvestmentEliminatedUponConsolidation_zwaA9rHXPBV8" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 1.5pt"&gt;Less investment eliminated upon consolidation&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;(41,538&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40D_ecustom--GainOnAcquisitionOfSubsidiary_ztnKY6jzALW9" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-bottom: 1.5pt"&gt;Gain on acquisition of ENP Peru&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;335,051&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:BusinessCombinationConsiderationTransferred1
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      unitRef="USD">506659</us-gaap:BusinessCombinationConsiderationTransferred1>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents contextRef="AsOf2022-12-31" decimals="0" unitRef="USD">7330</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedBuildings contextRef="AsOf2022-12-31" decimals="0" unitRef="USD">3750000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedBuildings>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLand contextRef="AsOf2022-12-31" decimals="0" unitRef="USD">150000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLand>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities contextRef="AsOf2022-12-31" decimals="0" unitRef="USD">174582</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities>
    <FSI:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLongTermDebt contextRef="AsOf2022-12-31" decimals="0" unitRef="USD">-2849500</FSI:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLongTermDebt>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets contextRef="AsOf2022-12-31" decimals="0" unitRef="USD">883248</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets>
    <FSI:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLessPurchasePrice contextRef="AsOf2022-12-31" decimals="0" unitRef="USD">376589</FSI:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLessPurchasePrice>
    <FSI:InvestmentEliminatedUponConsolidation
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      unitRef="USD">-41538</FSI:InvestmentEliminatedUponConsolidation>
    <FSI:GainOnAcquisitionOfSubsidiary
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      unitRef="USD">335051</FSI:GainOnAcquisitionOfSubsidiary>
    <us-gaap:EquityMethodInvestmentsTextBlock contextRef="From2023-01-012023-06-30_custom_EnpPeruInvestmentsLlcMember418055859">&lt;p id="xdx_89B_eus-gaap--EquityMethodInvestmentsTextBlock_hdei--LegalEntityAxis__custom--EnpPeruInvestmentsLlcMember_zN84hMiJRnJj" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.7in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;A
summary of the Company&#x2019;s investment follows:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;span style="display: none"&gt;&lt;span id="xdx_8BE_zVbwgKDlORsg"&gt;SCHEDULE OF EQUITY METHOD INVESTMENT&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 80%; margin-right: auto"&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 80%"&gt;Balance, December 31, 2021&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--EquityMethodInvestments_iS_c20220101__20221231__dei--LegalEntityAxis__custom--EnpPeruInvestmentsLlcMember_zjzxFfIMZPCa" style="width: 16%; text-align: right" title="Balance, Beginning"&gt;22,642&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;Return of equity&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--EquityMethodInvestmentReturnOfEquity_c20220101__20221231__dei--LegalEntityAxis__custom--EnpPeruInvestmentsLlcMember_zHMkZGa0SSQc" style="text-align: right" title="Return of equity"&gt;(8,750&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;Gain in equity method investment&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--EquityMethodInvestmentRealizedGainLossOnDisposal_c20220101__20221231__dei--LegalEntityAxis__custom--EnpPeruInvestmentsLlcMember_zVUMbyZaJ8Cd" style="text-align: right" title="Gain in equity method investment"&gt;27,646&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;Investment eliminated upon consolidation&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--InvestmentEliminatedUponConsolidation_c20220101__20221231__dei--LegalEntityAxis__custom--EnpPeruInvestmentsLlcMember_zG5idIFlrCJ3" style="border-bottom: Black 1.5pt solid; text-align: right" title="Investment eliminated upon consolidation"&gt;(41,538&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, December 31, 2022 and June 30, 2023&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--EquityMethodInvestments_iE_c20220101__20221231__dei--LegalEntityAxis__custom--EnpPeruInvestmentsLlcMember_z6tJmDFQQVSc" style="border-bottom: Black 2.5pt double; text-align: right" title="Balance, Ending"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1252"&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:EquityMethodInvestmentsTextBlock>
    <us-gaap:EquityMethodInvestments
      contextRef="AsOf2021-12-31_custom_EnpPeruInvestmentsLlcMember"
      decimals="0"
      unitRef="USD">22642</us-gaap:EquityMethodInvestments>
    <FSI:EquityMethodInvestmentReturnOfEquity
      contextRef="From2022-01-012022-12-31_custom_EnpPeruInvestmentsLlcMember"
      decimals="0"
      unitRef="USD">-8750</FSI:EquityMethodInvestmentReturnOfEquity>
    <us-gaap:EquityMethodInvestmentRealizedGainLossOnDisposal
      contextRef="From2022-01-012022-12-31_custom_EnpPeruInvestmentsLlcMember"
      decimals="0"
      unitRef="USD">27646</us-gaap:EquityMethodInvestmentRealizedGainLossOnDisposal>
    <FSI:InvestmentEliminatedUponConsolidation
      contextRef="From2022-01-012022-12-31_custom_EnpPeruInvestmentsLlcMember"
      decimals="0"
      unitRef="USD">-41538</FSI:InvestmentEliminatedUponConsolidation>
    <us-gaap:Investments
      contextRef="AsOf2018-12-01_custom_AppliedHoldingCorpMember"
      decimals="0"
      unitRef="USD">200000</us-gaap:Investments>
    <us-gaap:DebtInstrumentMaturityDate contextRef="From2021-01-012021-12-31">2023-12-06</us-gaap:DebtInstrumentMaturityDate>
    <us-gaap:Investments
      contextRef="AsOf2018-12-01_custom_TrioOpportunityCorpMember"
      decimals="0"
      unitRef="USD">500000</us-gaap:Investments>
    <us-gaap:Investments
      contextRef="AsOf2023-04-30_custom_TrioOpportunityCorpMember"
      decimals="0"
      unitRef="USD">470000</us-gaap:Investments>
    <us-gaap:StockIssuedDuringPeriodSharesNewIssues
      contextRef="From2018-12-012018-12-31_us-gaap_CommonClassBMember_custom_TrioOpportunityCorpMember"
      decimals="INF"
      unitRef="Shares">97000</us-gaap:StockIssuedDuringPeriodSharesNewIssues>
    <us-gaap:SharePrice
      contextRef="AsOf2018-12-31_us-gaap_CommonClassBMember_custom_TrioOpportunityCorpMember"
      decimals="INF"
      unitRef="USDPShares">10.00</us-gaap:SharePrice>
    <us-gaap:EquityMethodInvestmentOwnershipPercentage
      contextRef="AsOf2019-01-31_custom_FloridaBasedLLCMember"
      decimals="INF"
      unitRef="Pure">0.50</us-gaap:EquityMethodInvestmentOwnershipPercentage>
    <us-gaap:EquityMethodInvestmentsTextBlock contextRef="From2023-01-012023-06-30_custom_FloridaBasedLLCMember">&lt;p id="xdx_890_eus-gaap--EquityMethodInvestmentsTextBlock_hdei--LegalEntityAxis__custom--FloridaBasedLLCMember_zBjsrUFwDXwb" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_8B4_zInUQE4iLXN7" style="display: none"&gt;SCHEDULE
OF EQUITY METHOD INVESTMENT&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 80%; margin-right: auto"&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 80%"&gt;Balance, December 31, 2021&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_983_eus-gaap--EquityMethodInvestments_iS_pp0p0_c20220101__20221231__dei--LegalEntityAxis__custom--FloridaBasedLLCMember_zUWqkZfY7bw7" style="width: 16%; text-align: right" title="Balance, Beginning"&gt;3,701,368&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;Gain in equity method investment&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--EquityMethodInvestmentRealizedGainLossOnDisposal_pp0p0_c20220101__20221231__dei--LegalEntityAxis__custom--FloridaBasedLLCMember_z37oPXNenad9" style="text-align: right" title="Gain in equity method investment"&gt;307,527&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;Return of equity&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_98C_ecustom--EquityMethodInvestmentReturnOfEquity_pp0p0_c20220101__20221231__dei--LegalEntityAxis__custom--FloridaBasedLLCMember_zfgGkQgZe7Jh" style="border-bottom: Black 1.5pt solid; text-align: right" title="Return of equity"&gt;(250,000&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&gt;Balance, December 31, 2022&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--EquityMethodInvestments_iS_pp0p0_c20230101__20230630__dei--LegalEntityAxis__custom--FloridaBasedLLCMember_zSaxRZhUVNJ6" style="text-align: right" title="Balance, Beginning"&gt;3,758,895&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;Gain in equity method investment&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_985_eus-gaap--EquityMethodInvestmentRealizedGainLossOnDisposal_pp0p0_c20230101__20230630__dei--LegalEntityAxis__custom--FloridaBasedLLCMember_zsnv3SXJ90M3" style="border-bottom: Black 1.5pt solid; text-align: right" title="Gain in equity method investment"&gt;326,703&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;Balance, June 30, 2023&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_981_eus-gaap--EquityMethodInvestments_iE_pp0p0_c20230101__20230630__dei--LegalEntityAxis__custom--FloridaBasedLLCMember_z6N5Et2tU8Zb" style="border-bottom: Black 1.5pt solid; text-align: right" title="Balance, Ending"&gt;4,085,598&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:EquityMethodInvestmentsTextBlock>
    <us-gaap:EquityMethodInvestments
      contextRef="AsOf2021-12-31_custom_FloridaBasedLLCMember"
      decimals="0"
      unitRef="USD">3701368</us-gaap:EquityMethodInvestments>
    <us-gaap:EquityMethodInvestmentRealizedGainLossOnDisposal
      contextRef="From2022-01-012022-12-31_custom_FloridaBasedLLCMember"
      decimals="0"
      unitRef="USD">307527</us-gaap:EquityMethodInvestmentRealizedGainLossOnDisposal>
    <FSI:EquityMethodInvestmentReturnOfEquity
      contextRef="From2022-01-012022-12-31_custom_FloridaBasedLLCMember"
      decimals="0"
      unitRef="USD">-250000</FSI:EquityMethodInvestmentReturnOfEquity>
    <us-gaap:EquityMethodInvestments
      contextRef="AsOf2022-12-31_custom_FloridaBasedLLCMember"
      decimals="0"
      unitRef="USD">3758895</us-gaap:EquityMethodInvestments>
    <us-gaap:EquityMethodInvestmentRealizedGainLossOnDisposal
      contextRef="From2023-01-012023-06-30_custom_FloridaBasedLLCMember"
      decimals="0"
      unitRef="USD">326703</us-gaap:EquityMethodInvestmentRealizedGainLossOnDisposal>
    <us-gaap:EquityMethodInvestments
      contextRef="AsOf2023-06-30_custom_FloridaBasedLLCMember"
      decimals="0"
      unitRef="USD">4085598</us-gaap:EquityMethodInvestments>
    <us-gaap:GainLossOnInvestmentsTextBlock contextRef="From2023-01-012023-06-30_custom_FloridaBasedLLCMember">&lt;p id="xdx_890_eus-gaap--GainLossOnInvestmentsTextBlock_hdei--LegalEntityAxis__custom--FloridaBasedLLCMember_zD2EzOwkOrY6" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Summarized
profit and loss information related to the equity accounted investment is as follows:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_8B3_z4kOik6t2gI2" style="display: none"&gt;SUMMARY
OF PROFIT AND LOSS INFORMATION RELATED TO EQUITY ACCOUNTED INVESTMENT&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 95%; margin-right: auto"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_495_20230101__20230630_zIgksEyXaSbl" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;Six months ended&lt;br/&gt; June 30, 2023&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 colspan="2" id="xdx_491_20220101__20220630_z4mcMtjaeA76" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;Six months ended&lt;br/&gt; June 30, 2022&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&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" style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_402_eus-gaap--GainsLossesOnSalesOfInvestmentRealEstate_zvEVn5AzFCD2" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 60%; text-align: left"&gt;Net sales&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;8,231,298&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;4,987,836&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40A_eus-gaap--RealizedInvestmentGainsLosses_zHEIgNLGGJv4" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Gross profit&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;2,435,858&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,850,172&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_402_ecustom--RealizedInvestmentGainsLossesNet_zoNTJbfIBWa5" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Net income&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;653,407&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;766,167&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

</us-gaap:GainLossOnInvestmentsTextBlock>
    <us-gaap:GainsLossesOnSalesOfInvestmentRealEstate
      contextRef="From2023-01-01to2023-06-30"
      decimals="0"
      unitRef="USD">8231298</us-gaap:GainsLossesOnSalesOfInvestmentRealEstate>
    <us-gaap:GainsLossesOnSalesOfInvestmentRealEstate
      contextRef="From2022-01-012022-06-30"
      decimals="0"
      unitRef="USD">4987836</us-gaap:GainsLossesOnSalesOfInvestmentRealEstate>
    <us-gaap:RealizedInvestmentGainsLosses
      contextRef="From2023-01-01to2023-06-30"
      decimals="0"
      unitRef="USD">2435858</us-gaap:RealizedInvestmentGainsLosses>
    <us-gaap:RealizedInvestmentGainsLosses
      contextRef="From2022-01-012022-06-30"
      decimals="0"
      unitRef="USD">1850172</us-gaap:RealizedInvestmentGainsLosses>
    <FSI:RealizedInvestmentGainsLossesNet
      contextRef="From2023-01-01to2023-06-30"
      decimals="0"
      unitRef="USD">653407</FSI:RealizedInvestmentGainsLossesNet>
    <FSI:RealizedInvestmentGainsLossesNet
      contextRef="From2022-01-012022-06-30"
      decimals="0"
      unitRef="USD">766167</FSI:RealizedInvestmentGainsLossesNet>
    <us-gaap:Revenues
      contextRef="From2023-01-012023-06-30_custom_FloridaBasedLLCMember"
      decimals="0"
      unitRef="USD">5091764</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="From2022-01-012022-06-30_custom_FloridaBasedLLCMember"
      decimals="0"
      unitRef="USD">5450698</us-gaap:Revenues>
    <us-gaap:AccountsReceivableNet
      contextRef="AsOf2023-06-30_custom_FloridaBasedLLCMember"
      decimals="0"
      unitRef="USD">2851981</us-gaap:AccountsReceivableNet>
    <us-gaap:AccountsReceivableNet
      contextRef="AsOf2022-12-31_custom_FloridaBasedLLCMember"
      decimals="0"
      unitRef="USD">2423285</us-gaap:AccountsReceivableNet>
    <us-gaap:PaymentsToAcquireInvestments
      contextRef="From2020-12-012020-12-31_custom_LygosIncMember"
      decimals="0"
      unitRef="USD">500000</us-gaap:PaymentsToAcquireInvestments>
    <us-gaap:PaymentsToAcquireInvestments
      contextRef="From2021-01-012021-12-31_custom_LygosIncMember"
      decimals="0"
      unitRef="USD">500000</us-gaap:PaymentsToAcquireInvestments>
    <us-gaap:Investments
      contextRef="AsOf2021-12-31_custom_LygosIncMember"
      decimals="0"
      unitRef="USD">1000000</us-gaap:Investments>
    <us-gaap:ShortTermDebtTextBlock contextRef="From2023-01-01to2023-06-30">&lt;p id="xdx_802_eus-gaap--ShortTermDebtTextBlock_zK0N8kmF5lDh" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="font: small-caps 10pt Times New Roman, Times, Serif"&gt;&lt;b&gt;11.
&lt;span id="xdx_829_zC3aY51B7bcl"&gt;SHORT-TERM LINE OF CREDIT.&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;(a)
&lt;/b&gt;In June 2023, ENP Investments signed a new agreement with Stock Yards Bank and Trust (&#x201c;Stock Yards&#x201d;). Increasing the
limit by $&lt;span id="xdx_90C_eus-gaap--LineOfCreditFacilityCurrentBorrowingCapacity_iI_c20230630__us-gaap--LineOfCreditFacilityAxis__custom--StockYardAndBankMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandStatesBankMember__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember_z566vV49KUBg" title="Increasing amount of revolving line of credit"&gt;500,000&lt;/span&gt;, the revolving line of credit is for an aggregate amount of up to the lesser of (i) $&lt;span id="xdx_903_eus-gaap--LineOfCreditFacilityMaximumBorrowingCapacity_iI_c20230630__us-gaap--LineOfCreditFacilityAxis__custom--StockYardAndBankMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandStatesBankMember__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember_zM0mSKCullbb" title="Aggregate amount of revolving line of credit"&gt;4,500,000&lt;/span&gt;, or (ii) 50-80% of eligible
domestic accounts receivable plus &lt;span id="xdx_90A_ecustom--PercentageOfForeignAccountsReceivableOfInventory_pid_dp_uPure_c20230601__20230630__us-gaap--LineOfCreditFacilityAxis__custom--StockYardAndBankMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandStatesBankMember__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember_zUTTU4S24rj3" title="Percentage of foreign accounts receivable of inventory"&gt;50&lt;/span&gt;% of inventory, capped at $&lt;span id="xdx_907_eus-gaap--DebtInstrumentFaceAmount_iI_pp0p0_c20230630__us-gaap--LineOfCreditFacilityAxis__custom--StockYardAndBankMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandStatesBankMember__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember_zx474Wa38vmk" title="Debt face amount"&gt;2,000,000&lt;/span&gt;. Interest on the unpaid principal balance of this loan will
be calculated using the greater of prime or 8.25%. The interest rate at June 30, 2023 is &lt;span id="xdx_90A_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_uPure_c20230630__us-gaap--LineOfCreditFacilityAxis__custom--StockYardAndBankMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandStatesBankMember__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember_z4y8vBDfxR02" title="Interest rate"&gt;8.25&lt;/span&gt;% (December 31, 2022 - &lt;span id="xdx_90D_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_uPure_c20221231__us-gaap--LineOfCreditFacilityAxis__custom--StockYardAndBankMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandStatesBankMember__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember_zcYeUaXHXZR2" title="Interest rate"&gt;7.5&lt;/span&gt;%).&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
revolving line of credit contains customary affirmative and negative covenants, including the following: compliance with laws, provisions
of financial statements and periodic reports, payment of taxes, maintenance of inventory and insurance, maintenance of operating accounts
at Stock Yards, Stock Yard&#x2019;s access to collateral, formation or acquisition of subsidiaries, incurrence of indebtedness, dispositions
of assets, granting liens, changes in business, ownership or business locations, engaging in mergers and acquisitions, making investments
or distributions and affiliate transactions. NanoChem is a guarantor of &lt;span id="xdx_90B_ecustom--LoanGuaranteedRate_iI_pid_dp_uPure_c20230630__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember__dei--LegalEntityAxis__custom--NanoChemSolutionIncMember__us-gaap--LineOfCreditFacilityAxis__custom--StockYardAndBankMember_zDuptIxykVu9" title="Loan guaranteed rate"&gt;65&lt;/span&gt;% of all the principal and other loan costs not to exceed $&lt;span id="xdx_909_eus-gaap--LinesOfCreditCurrent_iI_pp0p0_c20230630__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember__dei--LegalEntityAxis__custom--NanoChemSolutionIncMember__us-gaap--LineOfCreditFacilityAxis__custom--StockYardAndBankMember_zp185ZjRbRWc" title="Line of credit"&gt;2,925,000&lt;/span&gt;.
The non-controlling interest is the guarantor of the remaining &lt;span id="xdx_902_ecustom--LoanGuaranteedRate_iI_pid_dp_uPure_c20230630__dei--LegalEntityAxis__custom--NanoChemSolutionIncMember__us-gaap--LineOfCreditFacilityAxis__custom--StockYardAndBankMember_zCjbw3pGGGA3" title="Loan guaranteed rate"&gt;35&lt;/span&gt;% of all the principal and other loan costs not to exceed $&lt;span id="xdx_90C_eus-gaap--LinesOfCreditCurrent_iI_pp0p0_c20230630__dei--LegalEntityAxis__custom--NanoChemSolutionIncMember__us-gaap--LineOfCreditFacilityAxis__custom--StockYardAndBankMember_zHxWKuQweL9j" title="Line of credit"&gt;1,575,000&lt;/span&gt;.
As of June 30, 2023, ENP Investments was in compliance with all loan covenants.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;To
secure the repayment of any amounts borrowed under the revolving line of credit, the Company granted Stock Yards a security interest
in substantially all of the assets of ENP Investments, exclusive of intellectual property assets.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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; text-align: justify; margin: 0pt 0; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Short-term
borrowings outstanding under the revolving line as of June 30, 2023 were $&lt;span id="xdx_902_eus-gaap--ShortTermBorrowings_iI_pp0p0_dxL_c20230630__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember__dei--LegalEntityAxis__custom--NanoChemSolutionIncMember__us-gaap--LineOfCreditFacilityAxis__custom--StockYardAndBankMember_zqmEGaL1diZ4" title="Short term borrowings::XDX::-"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1327"&gt;nil&lt;/span&gt;&lt;/span&gt; (December 31, 2022 - $&lt;span id="xdx_904_eus-gaap--ShortTermBorrowings_iI_pp0p0_c20221231__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember__dei--LegalEntityAxis__custom--NanoChemSolutionIncMember__us-gaap--LineOfCreditFacilityAxis__custom--StockYardAndBankMember_zN0KDMX1jprj" title="Short term borrowings"&gt;2,477,794&lt;/span&gt;).&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 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: 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;(b)
&lt;/b&gt;In June 2023, the Company signed a new agreement with Stock Yards Bank and Trust (&#x201c;Stock Yards&#x201d;). The revolving line
of credit is for an aggregate amount of up to the lesser of (i) $&lt;span id="xdx_901_eus-gaap--LineOfCreditFacilityMaximumBorrowingCapacity_iI_pp0p0_c20230630__us-gaap--LineOfCreditFacilityAxis__custom--StockBankMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandStatesBankMember__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember_zszAHqQodwK7" title="Aggregate amount of revolving line of credit"&gt;4,000,000&lt;/span&gt;, or (ii) &lt;span id="xdx_906_ecustom--EligiblePercentageOfDomesticAccountsReceivable_pid_dp_uPure_c20230601__20230630__us-gaap--LineOfCreditFacilityAxis__custom--StockBankMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandStatesBankMember__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember_zPLJlNSidZQl" title="Eligible percentage of domestic accounts receivable"&gt;80&lt;/span&gt;% of eligible domestic accounts receivable and
certain foreign accounts receivable plus &lt;span id="xdx_90D_ecustom--PercentageOfForeignAccountsReceivableOfInventory_pid_dp_uPure_c20230601__20230630__us-gaap--LineOfCreditFacilityAxis__custom--StockBankMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandStatesBankMember__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember_zNQjau38pjFl" title="Percentage of foreign accounts receivable of inventory"&gt;50&lt;/span&gt;% of inventory, capped at $&lt;span id="xdx_908_eus-gaap--DebtInstrumentFaceAmount_iI_pp0p0_c20230630__us-gaap--LineOfCreditFacilityAxis__custom--StockBankMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandStatesBankMember__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember_zbvsicDLljG7" title="Debt face amount"&gt;2,000,000&lt;/span&gt;. Interest on the unpaid principal balance of this loan
will be calculated using the greater of prime or 8.25%. The interest rate at June 30, 2023 was &lt;span id="xdx_902_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pip0_dp_uPure_c20230630__us-gaap--LineOfCreditFacilityAxis__custom--StockBankMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandStatesBankMember__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember_zhNWihj15St8" title="Interest rate"&gt;8.25&lt;/span&gt;% (December 31, 2022 - &lt;span id="xdx_905_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pip0_dp_uPure_c20221231__us-gaap--LineOfCreditFacilityAxis__custom--StockBankMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandStatesBankMember__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember_zrnbLyws3Y52" title="Interest rate"&gt;7.5&lt;/span&gt;%).&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
revolving line of credit contains customary affirmative and negative covenants, including the following: compliance with laws,
provision of financial statements and periodic reports, payment of taxes, maintenance of inventory and insurance, maintenance of
operating accounts at Stock Yards, Stock Yards access to collateral, formation or acquisition of subsidiaries, incurrence of
indebtedness, dispositions of assets, granting liens, changes in business, ownership or business locations, engaging in mergers and
acquisitions, making investments or distributions and affiliate transactions. The covenants also require that the Company maintain a
minimum ratio of qualifying financial assets to the sum of qualifying financial obligations. As of June 30, 2023, the Company was in
compliance with all loan covenants.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;To
secure the repayment of any amounts borrowed under the revolving line of credit, the Company granted Stock Yards a security interest
in substantially all of the assets of NanoChem, exclusive of intellectual property assets.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Short-term
borrowings outstanding under the revolving line as of June 30, 2023 were $&lt;span id="xdx_906_eus-gaap--ShortTermBorrowings_iI_dxL_c20230630__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember__dei--LegalEntityAxis__custom--NanoChemSolutionIncMember__us-gaap--LineOfCreditFacilityAxis__custom--StockBankMember__us-gaap--CreditFacilityAxis__us-gaap--RevolvingCreditFacilityMember_zHjZOJmlZV8b" title="Short term borrowings::XDX::-"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1343"&gt;nil&lt;/span&gt;&lt;/span&gt; (December 31, 2022 - $&lt;span id="xdx_906_eus-gaap--ShortTermBorrowings_iI_c20221231__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember__dei--LegalEntityAxis__custom--NanoChemSolutionIncMember__us-gaap--LineOfCreditFacilityAxis__custom--StockBankMember__us-gaap--CreditFacilityAxis__us-gaap--RevolvingCreditFacilityMember_zSpR0n2k3JIi" title="Short term borrowings"&gt;340,797&lt;/span&gt;).&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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:ShortTermDebtTextBlock>
    <us-gaap:LineOfCreditFacilityCurrentBorrowingCapacity
      contextRef="AsOf2023-06-30_custom_StockYardAndBankMember_custom_MidlandStatesBankMember_custom_NewAgreementMember"
      decimals="0"
      unitRef="USD">500000</us-gaap:LineOfCreditFacilityCurrentBorrowingCapacity>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="AsOf2023-06-30_custom_StockYardAndBankMember_custom_MidlandStatesBankMember_custom_NewAgreementMember"
      decimals="0"
      unitRef="USD">4500000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <FSI:PercentageOfForeignAccountsReceivableOfInventory
      contextRef="From2023-06-012023-06-30_custom_StockYardAndBankMember_custom_MidlandStatesBankMember_custom_NewAgreementMember"
      decimals="INF"
      unitRef="Pure">0.50</FSI:PercentageOfForeignAccountsReceivableOfInventory>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="AsOf2023-06-30_custom_StockYardAndBankMember_custom_MidlandStatesBankMember_custom_NewAgreementMember"
      decimals="0"
      unitRef="USD">2000000</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="AsOf2023-06-30_custom_StockYardAndBankMember_custom_MidlandStatesBankMember_custom_NewAgreementMember"
      decimals="INF"
      unitRef="Pure">0.0825</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="AsOf2022-12-31_custom_StockYardAndBankMember_custom_MidlandStatesBankMember_custom_NewAgreementMember"
      decimals="INF"
      unitRef="Pure">0.075</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <FSI:LoanGuaranteedRate
      contextRef="AsOf2023-06-30_custom_NewAgreementMember_custom_NanoChemSolutionIncMember_custom_StockYardAndBankMember"
      decimals="INF"
      unitRef="Pure">0.65</FSI:LoanGuaranteedRate>
    <us-gaap:LinesOfCreditCurrent
      contextRef="AsOf2023-06-30_custom_NewAgreementMember_custom_NanoChemSolutionIncMember_custom_StockYardAndBankMember"
      decimals="0"
      unitRef="USD">2925000</us-gaap:LinesOfCreditCurrent>
    <FSI:LoanGuaranteedRate
      contextRef="AsOf2023-06-30_custom_NanoChemSolutionIncMember_custom_StockYardAndBankMember"
      decimals="INF"
      unitRef="Pure">0.35</FSI:LoanGuaranteedRate>
    <us-gaap:LinesOfCreditCurrent
      contextRef="AsOf2023-06-30_custom_NanoChemSolutionIncMember_custom_StockYardAndBankMember"
      decimals="0"
      unitRef="USD">1575000</us-gaap:LinesOfCreditCurrent>
    <us-gaap:ShortTermBorrowings
      contextRef="AsOf2022-12-31_custom_NewAgreementMember_custom_NanoChemSolutionIncMember_custom_StockYardAndBankMember"
      decimals="0"
      unitRef="USD">2477794</us-gaap:ShortTermBorrowings>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="AsOf2023-06-30_custom_StockBankMember_custom_MidlandStatesBankMember_custom_NewAgreementMember"
      decimals="0"
      unitRef="USD">4000000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <FSI:EligiblePercentageOfDomesticAccountsReceivable
      contextRef="From2023-06-012023-06-30_custom_StockBankMember_custom_MidlandStatesBankMember_custom_NewAgreementMember"
      decimals="INF"
      unitRef="Pure">0.80</FSI:EligiblePercentageOfDomesticAccountsReceivable>
    <FSI:PercentageOfForeignAccountsReceivableOfInventory
      contextRef="From2023-06-012023-06-30_custom_StockBankMember_custom_MidlandStatesBankMember_custom_NewAgreementMember"
      decimals="INF"
      unitRef="Pure">0.50</FSI:PercentageOfForeignAccountsReceivableOfInventory>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="AsOf2023-06-30_custom_StockBankMember_custom_MidlandStatesBankMember_custom_NewAgreementMember"
      decimals="0"
      unitRef="USD">2000000</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="AsOf2023-06-30_custom_StockBankMember_custom_MidlandStatesBankMember_custom_NewAgreementMember"
      decimals="INF"
      unitRef="Pure">0.0825</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="AsOf2022-12-31_custom_StockBankMember_custom_MidlandStatesBankMember_custom_NewAgreementMember"
      decimals="INF"
      unitRef="Pure">0.075</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <us-gaap:ShortTermBorrowings
      contextRef="AsOf2022-12-31_custom_NewAgreementMember_custom_NanoChemSolutionIncMember_custom_StockBankMember_us-gaap_RevolvingCreditFacilityMember"
      decimals="0"
      unitRef="USD">340797</us-gaap:ShortTermBorrowings>
    <us-gaap:LongTermDebtTextBlock contextRef="From2023-01-01to2023-06-30">&lt;p id="xdx_80E_eus-gaap--LongTermDebtTextBlock_zvXwlifoQtt5" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="font: small-caps 10pt Times New Roman, Times, Serif"&gt;&lt;b&gt;12.
&lt;span id="xdx_825_zZwqbg6YaYX"&gt;LONG TERM DEBT.&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify"&gt;&lt;span style="font: small-caps 10pt Times New Roman, Times, Serif"&gt;&lt;b&gt;(&lt;/b&gt;&lt;/span&gt;&lt;b&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;a&lt;span style="font-variant: small-caps"&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;In October 2020, NanoChem signed a loan for
$&lt;span id="xdx_905_eus-gaap--DebtInstrumentFaceAmount_iI_pp0p0_c20201031__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--NanoChemSolutionsIncMember_zHGvKKwRJAAb" title="Debt instrument face amount"&gt;1,980,947&lt;/span&gt; with Midland with a rate of &lt;span id="xdx_901_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_uPure_c20201031__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__us-gaap--VariableRateAxis__us-gaap--PrimeRateMember__dei--LegalEntityAxis__custom--NanoChemSolutionsIncMember_zdvqjqt6D5E1" title="Debt instrument interest rate stated percentage"&gt;3.85&lt;/span&gt;% to be repaid over &lt;span id="xdx_903_eus-gaap--DebtInstrumentTerm_dtY_c20201001__20201031__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--NanoChemSolutionsIncMember_zkVWyWbpFKPb" title="Debt instrument term"&gt;5 &lt;/span&gt;years with equal monthly payments including interest. The money was
used to retire the debt at Harris related to the loan to purchase a &lt;span id="xdx_90B_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_uPure_c20201031__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--NanoChemSolutionsIncMember_zbpC5a79kJQi" title="Debt instrument interest rate stated percentage"&gt;65&lt;/span&gt;% interest in ENP Investments. In June 2022, the loan was paid
in full with funds from Stock Yards. Interest expense for the three months ended March 31, 2022 was $&lt;span id="xdx_90E_eus-gaap--InterestExpenseDebt_pp0p0_c20220101__20220331__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--NanoChemSolutionsIncMember_zHdBXsv5mjLe" title="Debt Long term debt amount"&gt;15,130&lt;/span&gt;. The balance owing at June
30, 2023 was $&lt;span id="xdx_90D_eus-gaap--InterestExpenseDebt_pp0p0_dxL_c20230101__20230630__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--NanoChemSolutionsIncMember_zhmT5YLZoKKf" title="Debt Long term debt amount::XDX::-"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1359"&gt;nil&lt;/span&gt;&lt;/span&gt; (December 31, 2022 - $&lt;span id="xdx_901_eus-gaap--InterestExpenseDebt_pp0p0_c20220101__20221231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--NanoChemSolutionsIncMember_zqxfR2kxgw2" title="Debt Long term debt amount"&gt;nil&lt;/span&gt;).&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify"&gt;&lt;span style="font: small-caps 10pt Times New Roman, Times, Serif"&gt;&lt;b&gt;(&lt;/b&gt;&lt;/span&gt;&lt;b&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;b&lt;span style="font-variant: small-caps"&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;In October 2020, NanoChem signed a loan for
$&lt;span id="xdx_901_eus-gaap--DebtInstrumentFaceAmount_iI_pp0p0_c20201031__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--NanoChemSolutionsIncMember_zHGNKgaP1FT6" title="Debt instrument face amount"&gt;894,253&lt;/span&gt; with Midland with an interest rate &lt;span id="xdx_902_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_uPure_c20201031__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__us-gaap--VariableRateAxis__us-gaap--PrimeRateMember__dei--LegalEntityAxis__custom--NanoChemSolutionsIncMember_zA4igi9pPdRj" title="Debt instrument interest rate stated percentage"&gt;3.85&lt;/span&gt;% to be repaid over &lt;span id="xdx_909_eus-gaap--DebtInstrumentTerm_dc_c20201001__20201031__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--NanoChemSolutionsIncMember_zYUNobHXojek"&gt;two years&lt;/span&gt; with equal monthly payments including interest. The funds
were used to replace the loan at Harris for the purchase of new manufacturing equipment. In June 2022, the loan was paid in full with
funds from Stock Yards. Interest expense for the three months ended March 31, 2022 was $&lt;span id="xdx_902_eus-gaap--InterestExpenseDebt_pp0p0_c20220101__20220331__dei--LegalEntityAxis__custom--NanoChemSolutionsIncMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember_za4tQeqwOsfe" title="Interest expense debt"&gt;3,417&lt;/span&gt;. The balance owing at June 30, 2023 was
$&lt;span id="xdx_90E_eus-gaap--DebtDefaultLongtermDebtAmount_iI_pp0p0_dxL_c20230630__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--NanoChemSolutionsIncMember_z1VniwY0C6Yj" title="Debt Long term debt amount::XDX::-"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1370"&gt;nil&lt;/span&gt;&lt;/span&gt; (December 31, 2022 - $&lt;span id="xdx_904_eus-gaap--DebtDefaultLongtermDebtAmount_iI_pp0p0_dxL_c20221231__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--NanoChemSolutionsIncMember_zWIgtwYVfYh2" title="Debt Long term debt amount::XDX::-"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1372"&gt;nil&lt;/span&gt;&lt;/span&gt;).&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify"&gt;&lt;span style="font: small-caps 10pt Times New Roman, Times, Serif"&gt;&lt;b&gt;(&lt;/b&gt;&lt;/span&gt;&lt;b&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;c)
&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;In January 2020, ENP Mendota refinanced its mortgage
and signed a loan for $&lt;span id="xdx_90D_eus-gaap--DebtInstrumentFaceAmount_iI_pp0p0_c20200131__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--ENPMendotaMember_zPKrxFmLKLji"&gt;450,000&lt;/span&gt; with Stock Yards to be repaid over &lt;span id="xdx_903_eus-gaap--DebtInstrumentTerm_dtY_c20200101__20200131__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--StockYardsBankTrustMember__dei--LegalEntityAxis__custom--EnpRealtyLLCMember_zaitiPBV2GTe"&gt;10&lt;/span&gt; years with monthly installments plus interest. Interest for the
first five years is at &lt;span id="xdx_90F_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_uPure_c20200131__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--StockYardsBankTrustMember__us-gaap--VariableRateAxis__us-gaap--PrimeRateMember__dei--LegalEntityAxis__custom--EnpRealtyLLCMember_zo3rMqqnG8H"&gt;4.35&lt;/span&gt;% and it will be adjusted for the last five years to the Cincinnati Federal Home Bank Loan &lt;span id="xdx_90B_eus-gaap--DebtInstrumentTerm_dtY_c20200101__20200131__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--ENPMendotaMember_zx0uVqNHEAQl"&gt;5&lt;/span&gt; year fixed index
plus &lt;span id="xdx_907_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_uPure_c20200131__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--ENPMendotaMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember_zz1Zu4Fgg4Zb"&gt;2.5&lt;/span&gt;%. Interest expense for the six months ended June 30, 2023 was $&lt;span id="xdx_900_eus-gaap--InterestExpenseDebt_pp0p0_c20230101__20230630__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--ENPMendotaMember_zXtdaf6MCKrd" title="Interest expense debt"&gt;8,975&lt;/span&gt; (2022 - $&lt;span id="xdx_909_eus-gaap--InterestExpenseDebt_pp0p0_c20220101__20221231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--ENPMendotaMember_znyoFIYWSzfg" title="Interest expense debt"&gt;4,635&lt;/span&gt;). The balance owing at June 30, 2023 was
$&lt;span id="xdx_909_eus-gaap--DebtDefaultLongtermDebtAmount_iI_pp0p0_c20230630__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--ENPMendotaMember_zUgmQYxe6Ve3"&gt;404,925&lt;/span&gt; (December 31, 2022 - $&lt;span id="xdx_902_eus-gaap--DebtDefaultLongtermDebtAmount_iI_pp0p0_c20221231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--ENPMendotaMember_znhI1zTKLgek"&gt;415,430&lt;/span&gt;).&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify"&gt;&lt;span style="font: small-caps 10pt Times New Roman, Times, Serif"&gt;&lt;b&gt;(&lt;/b&gt;&lt;/span&gt;&lt;b&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;d&lt;span style="font-variant: small-caps"&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;In June 2022, NanoChem signed a loan for
$&lt;span id="xdx_909_eus-gaap--DebtInstrumentFaceAmount_iI_pp0p0_c20220630__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--ENPMendotaMember_z6ArenpkwFCj" title="Debt instrument face amount"&gt;1,935,000&lt;/span&gt; with Stock Yards with an interest rate of 4.90% to be repaid over three years with equal monthly payments including interest.
The funds were used to replace the loans at Midland for the purchase of the 65% interest in ENP Investments and the new manufacturing
equipment. Interest expense for the six months ended June 30, 2023 was $&lt;span id="xdx_901_eus-gaap--InterestExpenseDebt_pp0p0_c20230101__20230630__dei--LegalEntityAxis__custom--NanoChemMember__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember_z19Nh0fwqk3d"&gt;37,280&lt;/span&gt; (2022 - $&lt;span id="xdx_904_eus-gaap--InterestExpenseDebt_pp0p0_dxL_c20220101__20220630__dei--LegalEntityAxis__custom--NanoChemMember__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember_zpfXiDDsKwp" title="::XDX::-"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1387"&gt;nil&lt;/span&gt;&lt;/span&gt;). The balance owing at June 30, 2023 was
$&lt;span id="xdx_905_eus-gaap--DebtDefaultLongtermDebtAmount_iI_pp0p0_c20230630__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--NanoChemMember_z29LvnB9OZRi" title="Debt Long term debt amount"&gt;1,322,511&lt;/span&gt; (December 31, 2022 - $&lt;span id="xdx_90E_eus-gaap--DebtDefaultLongtermDebtAmount_iI_pp0p0_c20221231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--NanoChemMember_zm01o1WSoGwe" title="Debt Long term debt amount"&gt;1,632,672&lt;/span&gt;).&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 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: 0pt 0; text-align: justify"&gt;&lt;span style="font: small-caps 10pt Times New Roman, Times, Serif"&gt;&lt;b&gt;(&lt;/b&gt;&lt;/span&gt;&lt;b&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;e)
&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;In January 2020 ENP Peru signed a $&lt;span id="xdx_909_eus-gaap--DebtInstrumentFaceAmount_iI_pp0p0_c20200131__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--ENPPeruOneMember_zjfe3T77W0f6" title="Debt instrument face amount"&gt;3,000,000&lt;/span&gt; loan
with an interest rate &lt;span id="xdx_90A_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_uPure_c20200131__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__us-gaap--VariableRateAxis__us-gaap--PrimeRateMember__dei--LegalEntityAxis__custom--ENPPeruOneMember_zdaFDnhUkqdj" title="Debt instrument interest rate stated percentage"&gt;4.35&lt;/span&gt;% to be repaid over &lt;span id="xdx_90A_eus-gaap--DebtInstrumentTerm_c20200101__20200131__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--ENPPeruOneMember_zwVk5LSMEwNg"&gt;ten years&lt;/span&gt; with equal monthly payments including interest. Upon the purchase of the remainder
of ENP Peru in June 2022, the Company assumed the first mortgage at Stock Yards with a balance of $&lt;span id="xdx_901_eus-gaap--LoansPayable_iI_pp0p0_c20220630__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--ENPPeruOneMember_zEeo0ePJGBE1" title="First mortgage"&gt;2,849,500&lt;/span&gt;. Interest expense for the
six months ended June 30, 2023 was $&lt;span id="xdx_90E_eus-gaap--InterestExpense_pp0p0_c20230101__20230630__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--ENPPeruOneMember_zxiikgl2eKAl" title="Interest expense"&gt;61,251&lt;/span&gt; (2022 - $&lt;span id="xdx_90D_eus-gaap--InterestExpense_pp0p0_dxL_c20220101__20220630__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--ENPPeruOneMember_zDPQsPIJh8a8" title="Interest expense::XDX::-"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1402"&gt;nil&lt;/span&gt;&lt;/span&gt;). The balance owing at June 30, 2023 was $&lt;span id="xdx_90F_eus-gaap--DebtInstrumentFaceAmount_iI_pp0p0_c20230630__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--ENPPeruOneMember_zDlCUBRhJUl1" title="Debt instrument face amount"&gt;2,775,372&lt;/span&gt; (December 31, 2022 - $&lt;span id="xdx_902_eus-gaap--DebtInstrumentFaceAmount_iI_pp0p0_c20221231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--ENPPeruOneMember_z7PLtPeQAZ1l" title="Debt instrument face amount"&gt;2,813,015&lt;/span&gt;).&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;(f)
&lt;/b&gt;In June 2022, ENP Peru obtained a second mortgage for $&lt;span id="xdx_909_eus-gaap--DebtInstrumentFaceAmount_iI_pp0p0_c20220630__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--ENPPeruInvestmentsMember_zJkpJua17DKb" title="Debt instrument face amount"&gt;259,000&lt;/span&gt; with Stock Yards to be repaid over &lt;span id="xdx_904_eus-gaap--DebtInstrumentTerm_c20220601__20220630__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--ENPPeruInvestmentsMember_zYbfgQYGFYvd" title="Debt instrument term"&gt;10 years&lt;/span&gt; with monthly installments
plus interest with an interest rate of &lt;span id="xdx_902_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_uPure_c20220630__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__us-gaap--VariableRateAxis__us-gaap--PrimeRateMember__dei--LegalEntityAxis__custom--ENPPeruInvestmentsMember_zKpOJQVKj2xa" title="Debt instrument interest rate stated percentage"&gt;5.4&lt;/span&gt;%. Interest expense for the six months ended June 30, 2023 was $&lt;span id="xdx_90B_eus-gaap--InterestExpenseDebt_pp0p0_c20230101__20230630__dei--LegalEntityAxis__custom--ENPPeruInvestmentsMember__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember_ztXIjOT9dewj" title="Interest expense debt"&gt;6,960&lt;/span&gt; (2022 - $&lt;span id="xdx_90B_eus-gaap--InterestExpenseDebt_pp0p0_dxL_c20220101__20220630__dei--LegalEntityAxis__custom--ENPPeruInvestmentsMember__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember_zGAWDPHunAwe" title="Interest expense debt::XDX::-"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1416"&gt;nil&lt;/span&gt;&lt;/span&gt;). The balance
owing at June 30, 2023 was $&lt;span id="xdx_900_eus-gaap--DebtDefaultLongtermDebtAmount_iI_pp0p0_c20230630__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--ENPPeruInvestmentsMember_zhbsvxRCtB33" title="Debt Long term debt amount"&gt;253,206&lt;/span&gt; (December 31, 2022 - $&lt;span id="xdx_90C_eus-gaap--DebtDefaultLongtermDebtAmount_iI_pp0p0_c20221231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--ENPPeruInvestmentsMember_zrJIqN4DD7g" title="Debt Long term debt amount"&gt;256,162&lt;/span&gt;).&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;(g)
&lt;/b&gt;In December 2022, NanoChem signed a three year loan for up to $&lt;span id="xdx_904_eus-gaap--DebtInstrumentFaceAmount_iI_pp0p0_c20221231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--NanoChemMember_zoZJofld7URh" title="Debt instrument face amount"&gt;2,000,000&lt;/span&gt; with Stock Yards with an interest rate of&lt;span id="xdx_90F_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_uPure_c20221231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--VariableRateAxis__us-gaap--PrimeRateMember__dei--LegalEntityAxis__custom--NanoChemMember_zah8Bz89eGqc" title="Debt instrument interest rate stated percentage"&gt; 6.5&lt;/span&gt;%. Interest
only payments are required for the first 18 months with interest and principal being paid in the last 18 months. The funds are being
used to purchase new manufacturing equipment. Interest expense for the six months ended June 30, 2023 was $&lt;span id="xdx_908_eus-gaap--InterestExpenseDebt_pp0p0_c20230101__20230630__dei--LegalEntityAxis__custom--NanoChemMember__us-gaap--DebtInstrumentAxis__custom--TermLoanMember_z3IFUIi9VCuk" title="Interest expense debt"&gt;33,139&lt;/span&gt; (2022 - $&lt;span id="xdx_909_eus-gaap--InterestExpenseDebt_pp0p0_dxL_c20220101__20220630__dei--LegalEntityAxis__custom--NanoChemMember__us-gaap--DebtInstrumentAxis__custom--TermLoanMember_z0WnpoR3JMaa" title="Interest expense debt::XDX::-"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1428"&gt;nil&lt;/span&gt;&lt;/span&gt;). The
balance owing at June 30, 2023 was $&lt;span id="xdx_900_eus-gaap--DebtDefaultLongtermDebtAmount_iI_pp0p0_c20230630__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--NanoChemMember_zDI6Q1mh4bu" title="Debt Long term debt amount"&gt;1,036,798&lt;/span&gt; (December 31, 2022 - $&lt;span id="xdx_900_eus-gaap--DebtDefaultLongtermDebtAmount_iI_pp0p0_c20221231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--NanoChemMember_z3kqLKPSvYa7" title="Debt Long term debt amount"&gt;1,036,798&lt;/span&gt;).&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;(h)
&lt;/b&gt;In June 2023, 317 Mendota signed a five year loan for up to $&lt;span id="xdx_907_eus-gaap--DebtInstrumentFaceAmount_iI_pp0p0_c20230630__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--MendotaMember_zGCdz0hCcYC8" title="Debt instrument face amount"&gt;3,240,000&lt;/span&gt; with Stock Yards Bank to purchase the building and any necessary
renovations. Interest only payments are required for the first &lt;span title="Debt instrument term"&gt;12 months&lt;/span&gt; with interest and principal being paid the remaining four years
and a lump sum due in June 2028. Interest expense for the six months ended June 30, 2023 was $&lt;span id="xdx_903_eus-gaap--InterestExpenseDebt_pp0p0_dxL_c20230101__20230630__dei--LegalEntityAxis__custom--MendotaMember__us-gaap--DebtInstrumentAxis__custom--TermLoanMember_zi4wDPUeciak" title="Interest expense debt::XDX::-"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1436"&gt;nil&lt;/span&gt;&lt;/span&gt; (2022 - $&lt;span id="xdx_90C_eus-gaap--InterestExpenseDebt_pp0p0_dxL_c20220101__20220630__dei--LegalEntityAxis__custom--MendotaMember__us-gaap--DebtInstrumentAxis__custom--TermLoanMember_zczcopBi8RBb" title="Interest expense debt::XDX::-"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1438"&gt;nil&lt;/span&gt;&lt;/span&gt;). The balance owing at
June 30, 2023 was $&lt;span id="xdx_905_eus-gaap--DebtDefaultLongtermDebtAmount_iI_pp0p0_c20230630__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--MendotaMember_zA7CzDlpGmte" title="Debt Long term debt amount"&gt;2,248,292&lt;/span&gt; (December 31, 2022 - $&lt;span id="xdx_90E_eus-gaap--DebtDefaultLongtermDebtAmount_iI_pp0p0_dxL_c20221231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--MendotaMember_zlct4qta3UEe" title="Debt Long term debt amount::XDX::-"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1442"&gt;nil&lt;/span&gt;&lt;/span&gt;).&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 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 June 30, 2023, Company was in compliance with all loan covenants.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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_89E_ecustom--ScheduleOfLoanCovenantsTableTextBlock_zoZ5IdrmBkdf" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_8B1_zS1eqBmQLTac" style="display: none"&gt;SCHEDULE
OF LOAN COVENANTS&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#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;Continuity&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_49C_20230101__20230630_zhDTKMjJtUjc" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;June 30, 2023&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 colspan="2" id="xdx_49F_20220101__20221231_ziLl7cL7blbd" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;December 31, 2022&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_404_eus-gaap--LongTermDebt_iS_zrajopwRNnTj" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 61%"&gt;Balance, January 1&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: 15%; text-align: right"&gt;6,154,077&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;2,366,598&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40B_eus-gaap--LongTermDebt_iS_zFCauw0ZJJ1a" style="display: none; vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Balance,
    beginning of period&lt;/span&gt;&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;6,154,077&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;2,366,598&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&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_405_eus-gaap--ProceedsFromBankDebt_zATUMaPgHEX4" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Plus: Proceeds from loans&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;2,248,292&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,230,798&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_402_ecustom--ProceedsFromLoanAcquiredFromAcquisition_zYS53pXKK5pg" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Plus: Loan acquired with acquisition of ENP Peru&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="-sec-ix-hidden: xdx2ixbrl1455"&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;2,849,500&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_409_eus-gaap--PaymentsForProceedsFromDepositOnLoan_iN_di_zgx5PKKL9tzd" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-bottom: 1.5pt"&gt;Less: Payments on loan&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;(361,265&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;(2,292,819&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_409_eus-gaap--LongTermDebt_iE_zVkfOrsdkkC2" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-bottom: 2.5pt"&gt;Balance, end of period&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,041,104&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;6,154,077&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_8AF_zKNKh5WZTEb7" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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--ScheduleOfDebtInstrumentsTextBlock_zDkhNHs9U6x5" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_8B0_zIaQZisPqVxi" style="display: none"&gt;SCHEDULE
OF OUTSTANDING BALANCE LOAN&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#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;Outstanding balance&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_491_20230630_z2DqVYlpl9na" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;June 30, 2023&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 colspan="2" id="xdx_492_20221231_zze1SBM3Lew7" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;December 31, 2022&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_403_eus-gaap--LongTermDebt_iI_hus-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandStatesBankMember_zm49A4jvxLYj" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;a) Long term debt &#x2013; Midland States Bank&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;&lt;span style="-sec-ix-hidden: xdx2ixbrl1466"&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 style="text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1467"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_406_eus-gaap--LongTermDebt_iI_hus-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandStatesBankOneMember_zJTArF9QNPyb" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;b) Long term debt &#x2013; Midland States Bank&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="-sec-ix-hidden: xdx2ixbrl1469"&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 style="-sec-ix-hidden: xdx2ixbrl1470"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40D_eus-gaap--LongTermDebt_iI_hus-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--StockYardsBankTrustMember_zNvYPPw5kMKh" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 61%; text-align: left"&gt;c) Long term debt &#x2013; Stock Yards Bank &amp;amp; Trust&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: 15%; text-align: right"&gt;404,925&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;415,430&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40D_eus-gaap--LongTermDebt_iI_hus-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--StockYardsBankTrustOneMember_z7sdTDFgFpo6" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;d) Long term debt &#x2013; Stock Yards Bank &amp;amp; Trust&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,322,511&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,632,672&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_409_eus-gaap--LongTermDebt_iI_hus-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--StockYardsBankTrustTwoMember_zZ5Za8Csbyv3" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;e) Long term debt &#x2013; Stock Yards Bank &amp;amp; Trust&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;2,775,372&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;2,813,015&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40B_eus-gaap--LongTermDebt_iI_hus-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--StockYardsBankTrustThreeMember_zK9xmD9o8Cb4" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;f) Long term debt &#x2013; Stock Yards Bank &amp;amp; Trust&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;253,206&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;256,162&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_406_eus-gaap--LongTermDebt_iI_hus-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--StockYardsBankTrustFourMember_zXE5ONgEg4q5" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;g) Long term debt &#x2013; Stock Yards Bank &amp;amp; Trust&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,036,798&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,036,798&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_405_eus-gaap--LongTermDebt_iI_hus-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--StockYardsBankTrustFiveMember_zJhriDM9M7d2" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 1.5pt"&gt;h) Long term debt &#x2013; Stock Yards Bank &amp;amp; Trust&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;2,248,292&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="display: none; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1488"&gt;-&lt;/span&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 id="xdx_400_eus-gaap--LongTermDebt_iI_zTTlYnrAAmze" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Long-term Debt&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;8,041,104&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;6,154,077&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40C_eus-gaap--LongTermDebtCurrent_iNI_di_zMgIePBBrUk1" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 1.5pt"&gt;Less: current portion&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;(738,916&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;(717,612&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40B_eus-gaap--LongTermDebtNoncurrent_iI_zzr3slaHlpr6" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 2.5pt"&gt;&lt;span style="display: none; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Long-term
    Debt non current&lt;/span&gt;&lt;span style="font-family: Times New Roman, Times, Serif"&gt;&#160;&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;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;7,302,188&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;5,436,465&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_zBGPg9tHOpQe" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="font: small-caps 10pt Times New Roman, Times, Serif"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

</us-gaap:LongTermDebtTextBlock>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="AsOf2020-10-31_custom_TermLoanMember_custom_MidlandBankMember_custom_NanoChemSolutionsIncMember"
      decimals="0"
      unitRef="USD">1980947</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="AsOf2020-10-31_custom_TermLoanMember_custom_MidlandBankMember_us-gaap_PrimeRateMember_custom_NanoChemSolutionsIncMember"
      decimals="INF"
      unitRef="Pure">0.0385</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <us-gaap:DebtInstrumentTerm contextRef="From2020-10-012020-10-31_custom_TermLoanMember_custom_MidlandBankMember_custom_NanoChemSolutionsIncMember">P5Y</us-gaap:DebtInstrumentTerm>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="AsOf2020-10-31_custom_TermLoanMember_custom_MidlandBankMember_custom_NanoChemSolutionsIncMember"
      decimals="INF"
      unitRef="Pure">0.65</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <us-gaap:InterestExpenseDebt
      contextRef="From2022-01-012022-03-31_custom_TermLoanMember_custom_MidlandBankMember_custom_NanoChemSolutionsIncMember"
      decimals="0"
      unitRef="USD">15130</us-gaap:InterestExpenseDebt>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="AsOf2020-10-31_custom_MidlandBankMember_custom_NanoChemSolutionsIncMember"
      decimals="0"
      unitRef="USD">894253</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="AsOf2020-10-31_custom_MidlandBankMember_us-gaap_PrimeRateMember_custom_NanoChemSolutionsIncMember"
      decimals="INF"
      unitRef="Pure">0.0385</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <us-gaap:DebtInstrumentTerm contextRef="From2020-10-012020-10-31_custom_MidlandBankMember_custom_NanoChemSolutionsIncMember">P2Y</us-gaap:DebtInstrumentTerm>
    <us-gaap:InterestExpenseDebt
      contextRef="From2022-01-012022-03-31_custom_NanoChemSolutionsIncMember_custom_MidlandBankMember"
      decimals="0"
      unitRef="USD">3417</us-gaap:InterestExpenseDebt>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="AsOf2020-01-31_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPMendotaMember"
      decimals="0"
      unitRef="USD">450000</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:DebtInstrumentTerm contextRef="From2020-01-012020-01-31_custom_StockYardsBankTrustMember_custom_EnpRealtyLLCMember">P10Y</us-gaap:DebtInstrumentTerm>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="AsOf2020-01-31_custom_StockYardsBankTrustMember_us-gaap_PrimeRateMember_custom_EnpRealtyLLCMember"
      decimals="INF"
      unitRef="Pure">0.0435</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <us-gaap:DebtInstrumentTerm contextRef="From2020-01-012020-01-31_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPMendotaMember">P5Y</us-gaap:DebtInstrumentTerm>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="AsOf2020-01-31_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPMendotaMember"
      decimals="INF"
      unitRef="Pure">0.025</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <us-gaap:InterestExpenseDebt
      contextRef="From2023-01-012023-06-30_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPMendotaMember"
      decimals="0"
      unitRef="USD">8975</us-gaap:InterestExpenseDebt>
    <us-gaap:InterestExpenseDebt
      contextRef="From2022-01-012022-12-31_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPMendotaMember"
      decimals="0"
      unitRef="USD">4635</us-gaap:InterestExpenseDebt>
    <us-gaap:DebtDefaultLongtermDebtAmount
      contextRef="AsOf2023-06-30_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPMendotaMember"
      decimals="0"
      unitRef="USD">404925</us-gaap:DebtDefaultLongtermDebtAmount>
    <us-gaap:DebtDefaultLongtermDebtAmount
      contextRef="AsOf2022-12-31_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPMendotaMember"
      decimals="0"
      unitRef="USD">415430</us-gaap:DebtDefaultLongtermDebtAmount>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="AsOf2022-06-30_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPMendotaMember"
      decimals="0"
      unitRef="USD">1935000</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:InterestExpenseDebt
      contextRef="From2023-01-012023-06-30_custom_NanoChemMember_custom_TermLoanMember_custom_MidlandBankMember"
      decimals="0"
      unitRef="USD">37280</us-gaap:InterestExpenseDebt>
    <us-gaap:DebtDefaultLongtermDebtAmount
      contextRef="AsOf2023-06-30_custom_TermLoanMember_custom_MidlandBankMember_custom_NanoChemMember"
      decimals="0"
      unitRef="USD">1322511</us-gaap:DebtDefaultLongtermDebtAmount>
    <us-gaap:DebtDefaultLongtermDebtAmount
      contextRef="AsOf2022-12-31_custom_TermLoanMember_custom_MidlandBankMember_custom_NanoChemMember"
      decimals="0"
      unitRef="USD">1632672</us-gaap:DebtDefaultLongtermDebtAmount>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="AsOf2020-01-31_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPPeruOneMember"
      decimals="0"
      unitRef="USD">3000000</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="AsOf2020-01-31_custom_TermLoanMember_custom_MidlandBankMember_us-gaap_PrimeRateMember_custom_ENPPeruOneMember"
      decimals="INF"
      unitRef="Pure">0.0435</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <us-gaap:DebtInstrumentTerm contextRef="From2020-01-012020-01-31_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPPeruOneMember">P10Y</us-gaap:DebtInstrumentTerm>
    <us-gaap:LoansPayable
      contextRef="AsOf2022-06-30_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPPeruOneMember"
      decimals="0"
      unitRef="USD">2849500</us-gaap:LoansPayable>
    <us-gaap:InterestExpense
      contextRef="From2023-01-012023-06-30_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPPeruOneMember"
      decimals="0"
      unitRef="USD">61251</us-gaap:InterestExpense>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="AsOf2023-06-30_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPPeruOneMember"
      decimals="0"
      unitRef="USD">2775372</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="AsOf2022-12-31_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPPeruOneMember"
      decimals="0"
      unitRef="USD">2813015</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="AsOf2022-06-30_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPPeruInvestmentsMember"
      decimals="0"
      unitRef="USD">259000</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:DebtInstrumentTerm contextRef="From2022-06-012022-06-30_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPPeruInvestmentsMember">P10Y</us-gaap:DebtInstrumentTerm>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="AsOf2022-06-30_custom_TermLoanMember_custom_MidlandBankMember_us-gaap_PrimeRateMember_custom_ENPPeruInvestmentsMember"
      decimals="INF"
      unitRef="Pure">0.054</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <us-gaap:InterestExpenseDebt
      contextRef="From2023-01-012023-06-30_custom_ENPPeruInvestmentsMember_custom_TermLoanMember_custom_MidlandBankMember"
      decimals="0"
      unitRef="USD">6960</us-gaap:InterestExpenseDebt>
    <us-gaap:DebtDefaultLongtermDebtAmount
      contextRef="AsOf2023-06-30_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPPeruInvestmentsMember"
      decimals="0"
      unitRef="USD">253206</us-gaap:DebtDefaultLongtermDebtAmount>
    <us-gaap:DebtDefaultLongtermDebtAmount
      contextRef="AsOf2022-12-31_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPPeruInvestmentsMember"
      decimals="0"
      unitRef="USD">256162</us-gaap:DebtDefaultLongtermDebtAmount>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="AsOf2022-12-31_custom_TermLoanMember_custom_NanoChemMember"
      decimals="0"
      unitRef="USD">2000000</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="AsOf2022-12-31_custom_TermLoanMember_us-gaap_PrimeRateMember_custom_NanoChemMember"
      decimals="INF"
      unitRef="Pure">0.065</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <us-gaap:InterestExpenseDebt
      contextRef="From2023-01-012023-06-30_custom_NanoChemMember_custom_TermLoanMember"
      decimals="0"
      unitRef="USD">33139</us-gaap:InterestExpenseDebt>
    <us-gaap:DebtDefaultLongtermDebtAmount
      contextRef="AsOf2023-06-30_custom_TermLoanMember_custom_NanoChemMember"
      decimals="0"
      unitRef="USD">1036798</us-gaap:DebtDefaultLongtermDebtAmount>
    <us-gaap:DebtDefaultLongtermDebtAmount
      contextRef="AsOf2022-12-31_custom_TermLoanMember_custom_NanoChemMember"
      decimals="0"
      unitRef="USD">1036798</us-gaap:DebtDefaultLongtermDebtAmount>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="AsOf2023-06-30_custom_TermLoanMember_custom_MendotaMember"
      decimals="0"
      unitRef="USD">3240000</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:DebtDefaultLongtermDebtAmount
      contextRef="AsOf2023-06-30_custom_TermLoanMember_custom_MendotaMember"
      decimals="0"
      unitRef="USD">2248292</us-gaap:DebtDefaultLongtermDebtAmount>
    <FSI:ScheduleOfLoanCovenantsTableTextBlock contextRef="From2023-01-01to2023-06-30">&lt;p id="xdx_89E_ecustom--ScheduleOfLoanCovenantsTableTextBlock_zoZ5IdrmBkdf" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_8B1_zS1eqBmQLTac" style="display: none"&gt;SCHEDULE
OF LOAN COVENANTS&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#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;Continuity&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_49C_20230101__20230630_zhDTKMjJtUjc" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;June 30, 2023&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 colspan="2" id="xdx_49F_20220101__20221231_ziLl7cL7blbd" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;December 31, 2022&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_404_eus-gaap--LongTermDebt_iS_zrajopwRNnTj" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 61%"&gt;Balance, January 1&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: 15%; text-align: right"&gt;6,154,077&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;2,366,598&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40B_eus-gaap--LongTermDebt_iS_zFCauw0ZJJ1a" style="display: none; vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Balance,
    beginning of period&lt;/span&gt;&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;6,154,077&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;2,366,598&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&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_405_eus-gaap--ProceedsFromBankDebt_zATUMaPgHEX4" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Plus: Proceeds from loans&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;2,248,292&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,230,798&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_402_ecustom--ProceedsFromLoanAcquiredFromAcquisition_zYS53pXKK5pg" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Plus: Loan acquired with acquisition of ENP Peru&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="-sec-ix-hidden: xdx2ixbrl1455"&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;2,849,500&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_409_eus-gaap--PaymentsForProceedsFromDepositOnLoan_iN_di_zgx5PKKL9tzd" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-bottom: 1.5pt"&gt;Less: Payments on loan&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;(361,265&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;(2,292,819&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_409_eus-gaap--LongTermDebt_iE_zVkfOrsdkkC2" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-bottom: 2.5pt"&gt;Balance, end of period&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,041,104&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;6,154,077&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

</FSI:ScheduleOfLoanCovenantsTableTextBlock>
    <us-gaap:LongTermDebt contextRef="AsOf2022-12-31" decimals="0" unitRef="USD">6154077</us-gaap:LongTermDebt>
    <us-gaap:LongTermDebt contextRef="AsOf2021-12-31" decimals="0" unitRef="USD">2366598</us-gaap:LongTermDebt>
    <us-gaap:LongTermDebt contextRef="AsOf2022-12-31" decimals="0" unitRef="USD">6154077</us-gaap:LongTermDebt>
    <us-gaap:LongTermDebt contextRef="AsOf2021-12-31" decimals="0" unitRef="USD">2366598</us-gaap:LongTermDebt>
    <us-gaap:ProceedsFromBankDebt
      contextRef="From2023-01-01to2023-06-30"
      decimals="0"
      unitRef="USD">2248292</us-gaap:ProceedsFromBankDebt>
    <us-gaap:ProceedsFromBankDebt
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      unitRef="USD">3230798</us-gaap:ProceedsFromBankDebt>
    <FSI:ProceedsFromLoanAcquiredFromAcquisition
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      unitRef="USD">2849500</FSI:ProceedsFromLoanAcquiredFromAcquisition>
    <us-gaap:PaymentsForProceedsFromDepositOnLoan
      contextRef="From2023-01-01to2023-06-30"
      decimals="0"
      unitRef="USD">361265</us-gaap:PaymentsForProceedsFromDepositOnLoan>
    <us-gaap:PaymentsForProceedsFromDepositOnLoan
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      unitRef="USD">2292819</us-gaap:PaymentsForProceedsFromDepositOnLoan>
    <us-gaap:LongTermDebt contextRef="AsOf2023-06-30" decimals="0" unitRef="USD">8041104</us-gaap:LongTermDebt>
    <us-gaap:LongTermDebt contextRef="AsOf2022-12-31" decimals="0" unitRef="USD">6154077</us-gaap:LongTermDebt>
    <us-gaap:ScheduleOfDebtInstrumentsTextBlock contextRef="From2023-01-01to2023-06-30">&lt;p id="xdx_899_eus-gaap--ScheduleOfDebtInstrumentsTextBlock_zDkhNHs9U6x5" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_8B0_zIaQZisPqVxi" style="display: none"&gt;SCHEDULE
OF OUTSTANDING BALANCE LOAN&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#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;Outstanding balance&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_491_20230630_z2DqVYlpl9na" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;June 30, 2023&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 colspan="2" id="xdx_492_20221231_zze1SBM3Lew7" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;December 31, 2022&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_403_eus-gaap--LongTermDebt_iI_hus-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandStatesBankMember_zm49A4jvxLYj" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;a) Long term debt &#x2013; Midland States Bank&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;&lt;span style="-sec-ix-hidden: xdx2ixbrl1466"&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 style="text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1467"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_406_eus-gaap--LongTermDebt_iI_hus-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandStatesBankOneMember_zJTArF9QNPyb" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;b) Long term debt &#x2013; Midland States Bank&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="-sec-ix-hidden: xdx2ixbrl1469"&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 style="-sec-ix-hidden: xdx2ixbrl1470"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40D_eus-gaap--LongTermDebt_iI_hus-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--StockYardsBankTrustMember_zNvYPPw5kMKh" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 61%; text-align: left"&gt;c) Long term debt &#x2013; Stock Yards Bank &amp;amp; Trust&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: 15%; text-align: right"&gt;404,925&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;415,430&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40D_eus-gaap--LongTermDebt_iI_hus-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--StockYardsBankTrustOneMember_z7sdTDFgFpo6" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;d) Long term debt &#x2013; Stock Yards Bank &amp;amp; Trust&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,322,511&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,632,672&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_409_eus-gaap--LongTermDebt_iI_hus-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--StockYardsBankTrustTwoMember_zZ5Za8Csbyv3" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;e) Long term debt &#x2013; Stock Yards Bank &amp;amp; Trust&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;2,775,372&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;2,813,015&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40B_eus-gaap--LongTermDebt_iI_hus-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--StockYardsBankTrustThreeMember_zK9xmD9o8Cb4" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;f) Long term debt &#x2013; Stock Yards Bank &amp;amp; Trust&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;253,206&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;256,162&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_406_eus-gaap--LongTermDebt_iI_hus-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--StockYardsBankTrustFourMember_zXE5ONgEg4q5" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;g) Long term debt &#x2013; Stock Yards Bank &amp;amp; Trust&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,036,798&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,036,798&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_405_eus-gaap--LongTermDebt_iI_hus-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--StockYardsBankTrustFiveMember_zJhriDM9M7d2" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 1.5pt"&gt;h) Long term debt &#x2013; Stock Yards Bank &amp;amp; Trust&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;2,248,292&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="display: none; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1488"&gt;-&lt;/span&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 id="xdx_400_eus-gaap--LongTermDebt_iI_zTTlYnrAAmze" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Long-term Debt&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;8,041,104&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;6,154,077&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40C_eus-gaap--LongTermDebtCurrent_iNI_di_zMgIePBBrUk1" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 1.5pt"&gt;Less: current portion&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;(738,916&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;(717,612&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40B_eus-gaap--LongTermDebtNoncurrent_iI_zzr3slaHlpr6" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 2.5pt"&gt;&lt;span style="display: none; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Long-term
    Debt non current&lt;/span&gt;&lt;span style="font-family: Times New Roman, Times, Serif"&gt;&#160;&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;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;7,302,188&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;5,436,465&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:ScheduleOfDebtInstrumentsTextBlock>
    <us-gaap:LongTermDebt
      contextRef="AsOf2023-06-30_custom_StockYardsBankTrustMember"
      decimals="0"
      unitRef="USD">404925</us-gaap:LongTermDebt>
    <us-gaap:LongTermDebt
      contextRef="AsOf2022-12-31_custom_StockYardsBankTrustMember"
      decimals="0"
      unitRef="USD">415430</us-gaap:LongTermDebt>
    <us-gaap:LongTermDebt
      contextRef="AsOf2023-06-30_custom_StockYardsBankTrustOneMember"
      decimals="0"
      unitRef="USD">1322511</us-gaap:LongTermDebt>
    <us-gaap:LongTermDebt
      contextRef="AsOf2022-12-31_custom_StockYardsBankTrustOneMember"
      decimals="0"
      unitRef="USD">1632672</us-gaap:LongTermDebt>
    <us-gaap:LongTermDebt
      contextRef="AsOf2023-06-30_custom_StockYardsBankTrustTwoMember"
      decimals="0"
      unitRef="USD">2775372</us-gaap:LongTermDebt>
    <us-gaap:LongTermDebt
      contextRef="AsOf2022-12-31_custom_StockYardsBankTrustTwoMember"
      decimals="0"
      unitRef="USD">2813015</us-gaap:LongTermDebt>
    <us-gaap:LongTermDebt
      contextRef="AsOf2023-06-30_custom_StockYardsBankTrustThreeMember"
      decimals="0"
      unitRef="USD">253206</us-gaap:LongTermDebt>
    <us-gaap:LongTermDebt
      contextRef="AsOf2022-12-31_custom_StockYardsBankTrustThreeMember"
      decimals="0"
      unitRef="USD">256162</us-gaap:LongTermDebt>
    <us-gaap:LongTermDebt
      contextRef="AsOf2023-06-30_custom_StockYardsBankTrustFourMember"
      decimals="0"
      unitRef="USD">1036798</us-gaap:LongTermDebt>
    <us-gaap:LongTermDebt
      contextRef="AsOf2022-12-31_custom_StockYardsBankTrustFourMember"
      decimals="0"
      unitRef="USD">1036798</us-gaap:LongTermDebt>
    <us-gaap:LongTermDebt
      contextRef="AsOf2023-06-30_custom_StockYardsBankTrustFiveMember"
      decimals="0"
      unitRef="USD">2248292</us-gaap:LongTermDebt>
    <us-gaap:LongTermDebt contextRef="AsOf2023-06-30" decimals="0" unitRef="USD">8041104</us-gaap:LongTermDebt>
    <us-gaap:LongTermDebt contextRef="AsOf2022-12-31" decimals="0" unitRef="USD">6154077</us-gaap:LongTermDebt>
    <us-gaap:LongTermDebtCurrent contextRef="AsOf2023-06-30" decimals="0" unitRef="USD">738916</us-gaap:LongTermDebtCurrent>
    <us-gaap:LongTermDebtCurrent contextRef="AsOf2022-12-31" decimals="0" unitRef="USD">717612</us-gaap:LongTermDebtCurrent>
    <us-gaap:LongTermDebtNoncurrent contextRef="AsOf2023-06-30" decimals="0" unitRef="USD">7302188</us-gaap:LongTermDebtNoncurrent>
    <us-gaap:LongTermDebtNoncurrent contextRef="AsOf2022-12-31" decimals="0" unitRef="USD">5436465</us-gaap:LongTermDebtNoncurrent>
    <us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock contextRef="From2023-01-01to2023-06-30">&lt;p id="xdx_80D_eus-gaap--DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock_zlb0PWbWE07b" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="font: small-caps 10pt Times New Roman, Times, Serif"&gt;&lt;b&gt;13.
&lt;span id="xdx_82C_z1pgSAS3dnl7"&gt;STOCK OPTIONS.&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 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 a stock option plan (&#x201c;Plan&#x201d;). The purpose of this Plan is to provide additional incentives to key employees,
officers, directors and consultants of the Company and its subsidiaries in order to help attract and retain the best available personnel
for positions of responsibility and otherwise promote the success of the Company&#x2019;s business. It is intended that options issued
under this Plan constitute non-qualified stock options. The general terms of awards under the option plan are that &lt;span id="xdx_903_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage_pid_dp_uPure_c20230101__20230630_z5PM07UVv1Ul" title="Options granted percentage"&gt;100&lt;/span&gt;% of the options
granted will vest the year following the grant. The maximum term of options granted is &lt;span id="xdx_904_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod_dtY_c20230101__20230630_zfaXVOEDwe6b" title="Options maximum granted term"&gt;5&lt;/span&gt; years and the exercise price for all options
are issued for not less than fair market value at the date of the grant.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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_895_eus-gaap--ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock_zfxl3O3f6Ta" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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 Company&#x2019;s stock option activities for the year ended December 31, 2022 and the six month period
ended June 30, 2023:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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 style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_8BA_z4dw2pbQQzCb" style="display: none"&gt;SCHEDULE
OF STOCK OPTION ACTIVITIES&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#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="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;Number of&lt;br/&gt; shares&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 colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;Exercise price&lt;br/&gt; per share&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 colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;Weighted&lt;br/&gt; average &lt;br/&gt;
exercise &lt;br/&gt; price&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&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: rgb(204,238,255)"&gt;
    &lt;td style="width: 51%"&gt;Balance, December 31, 2021&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_98E_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iS_pid_c20220101__20221231_zJuWVd893JWg" style="width: 13%; text-align: right" title="Number of shares, Beginning Balance"&gt;789,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;$&lt;/td&gt;&lt;td style="width: 13%; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_904_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice_iS_c20220101__20221231__srt--RangeAxis__srt--MinimumMember_zwIUCOrBWkvd" title="Exercise price per share, Beginning Balance"&gt;1.42&lt;/span&gt; &#x2013; &lt;span id="xdx_90C_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice_iS_c20220101__20221231__srt--RangeAxis__srt--MaximumMember_zpoMUlHvHEy9" title="Exercise price per share, Beginning Balance"&gt;4.13&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_985_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_iS_c20220101__20221231_zffIqyKPDY91" style="width: 11%; text-align: right" title="Weighted average exercise price, Beginning Balance"&gt;2.78&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;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_983_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_pid_c20220101__20221231_zEVaTFPRqHii" style="text-align: right" title="Number of shares, Granted"&gt;981,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 style="text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_908_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeGrantedOptionsExercisePrice_c20220101__20221231__srt--RangeAxis__srt--MinimumMember_zd1KasXqxSvl" title="Exercise price per share, Granted"&gt;3.55&lt;/span&gt; &#x2013; &lt;span id="xdx_903_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeGrantedOptionsExercisePrice_c20220101__20221231__srt--RangeAxis__srt--MaximumMember_z97xzdffHC6e" title="Exercise price per share, Granted"&gt;3.61&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;$&lt;/td&gt;&lt;td id="xdx_98E_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_c20220101__20221231_z6vmho7MA30j" style="text-align: right" title="Weighted average exercise price, Granted"&gt;3.55&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;Cancelled or expired&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--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod_iN_pid_di_c20220101__20221231_z7vzL9wAcVX4" style="text-align: right" title="Number of shares, Cancelled or expired"&gt;(13,486&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;/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_90F_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice_c20220101__20221231__srt--RangeAxis__srt--MinimumMember_zMNXTsOzmUf9" title="Exercise price per share, Cancelled"&gt;1.70&lt;/span&gt; &#x2013; &lt;span id="xdx_90E_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice_c20220101__20221231__srt--RangeAxis__srt--MaximumMember_zD9eeSjjpST" title="Exercise price per share, Cancelled"&gt;3.61&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;$&lt;/td&gt;&lt;td id="xdx_987_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice_c20220101__20221231_zD6Ne8U90FBl" style="text-align: right" title="Weighted average exercise price, Cancelled or expired"&gt;2.32&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-bottom: 1.5pt"&gt;Exercised&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_98D_eus-gaap--StockIssuedDuringPeriodSharesStockOptionsExercised_iN_pid_di_c20220101__20221231_zHt490JTXry" style="border-bottom: Black 1.5pt solid; text-align: right" title="Number of shares, Exercised"&gt;(71,014&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;$&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;&lt;span id="xdx_906_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExcercisedOptionsExercisePrice_c20220101__20221231__srt--RangeAxis__srt--MinimumMember_zqbAOLWygKtg" title="Exercise price per share, Exercised"&gt;1.42&lt;/span&gt; &#x2013; &lt;span id="xdx_902_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExcercisedOptionsExercisePrice_c20220101__20221231__srt--RangeAxis__srt--MaximumMember_zvozzROO4jli" title="Exercise price per share, Exercised"&gt;2.44&lt;/span&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;$&lt;/td&gt;&lt;td id="xdx_98E_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_c20220101__20221231_zFSKk0pRJjN8" style="border-bottom: Black 1.5pt solid; text-align: right" title="Weighted average exercise price, Exercised"&gt;1.98&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&gt;Balance, December 31, 2022 &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_905_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iS_pid_c20230101__20230630_zdDZq4yJIRp5" title="Number of shares, Beginning Balance"&gt;1,686,000&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 style="text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_902_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice_iS_pid_c20230101__20230630__srt--RangeAxis__srt--MinimumMember_z3sDOrhs83rd" title="Exercise price per share, Beginning Balance"&gt;1.70&lt;/span&gt; &#x2013; &lt;span id="xdx_90F_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice_iS_pid_c20230101__20230630__srt--RangeAxis__srt--MaximumMember_zkwgPVKgVGB1" title="Exercise price per share, Beginning Balance"&gt;4.13&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;$&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;span id="xdx_903_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_iS_c20230101__20230630_zqOQq4nWx8R2" title="Weighted average exercise price, Beginning Balance"&gt;3.27&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-bottom: 1.5pt"&gt;Exercised&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--StockIssuedDuringPeriodSharesStockOptionsExercised_iN_pid_di_c20230101__20230630_ztlCwuJvLPl4" style="border-bottom: Black 1.5pt solid; text-align: right" title="Number of shares, Exercised"&gt;(8,000&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;$&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;span id="xdx_903_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExcercisedOptionsExercisePrice_c20230101__20230630_zKpoXi6RtGM4" title="Exercise price per share, Exercised"&gt;1.70&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;$&lt;/td&gt;&lt;td id="xdx_98A_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_c20230101__20230630_zlMPCU8pRDBe" style="border-bottom: Black 1.5pt solid; text-align: right" title="Weighted average exercise price, Exercised"&gt;1.70&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: 1.5pt"&gt;&lt;p style="margin: 0"&gt;Balance, June 30, 2023&lt;/p&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;&lt;span id="xdx_907_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iE_pid_c20230101__20230630_zVmjWPCpwZ9k" title="Number of shares Exercisable, Ending Balance"&gt;1,678,000&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;$&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;p style="margin: 0"&gt;&lt;span id="xdx_901_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice_iE_pid_c20230101__20230630__srt--RangeAxis__srt--MinimumMember_zfunBo7xfEF5" title="Exercise price per share, Ending Balance"&gt;1.75&lt;/span&gt; &#x2013; &lt;span id="xdx_901_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice_iE_pid_c20230101__20230630__srt--RangeAxis__srt--MaximumMember_zXPHDo7jauoj" title="Exercise price per share, Ending Balance"&gt;4.13&lt;/span&gt;&lt;/p&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;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;p style="margin: 0"&gt;&lt;span id="xdx_903_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_iE_c20230101__20230630_zLnvDSZ2mV11" title="Weighted average exercise price, Ending Balance"&gt;3.27&lt;/span&gt;&lt;/p&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-bottom: 1.5pt"&gt;Exercisable, June 30, 2023&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--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_iE_pid_c20230101__20230630_z1bXJQS203Jg" style="border-bottom: Black 1.5pt solid; text-align: right" title="Number of shares Exercisable, Ending Balance"&gt;672,000&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;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_906_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingExercisableOptionsExercisePrice_iE_pid_c20230101__20230630__srt--RangeAxis__srt--MinimumMember_zhWusqCJDj5" title="Exercise price per share Exercisable, Ending Balance"&gt;1.75&lt;/span&gt;
&#x2013; &lt;span id="xdx_90A_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingExercisableOptionsExercisePrice_iE_pid_c20230101__20230630__srt--RangeAxis__srt--MaximumMember_zpAHI9NBtmTl" title="Exercise price per share Exercisable, Ending Balance"&gt;4.13&lt;/span&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;$&lt;/td&gt;&lt;td id="xdx_980_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_iE_c20230101__20230630_zrEhyCDCqOFb" style="border-bottom: Black 1.5pt solid; text-align: right" title="Weighted average exercise price, Ending Balance"&gt;2.94&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_8A5_zZw1fQaaoZM2" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
weighted average remaining contractual life of options outstanding is &lt;span id="xdx_909_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_dtY_c20230101__20230630_zAzMCJsyaPQk" title="Weighted-average remaining contractual life"&gt;3.4&lt;/span&gt; years.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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_892_eus-gaap--ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock_zwJKaCMQJ3d2" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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 each option grant is calculated using the following weighted average assumptions:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_8B1_z7Jei0Vm5bP" style="display: none"&gt;SCHEDULE
OF STOCK OPTION FAIR VALUE ASSUMPTIONS&lt;/span&gt;&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; margin-left: auto; border-collapse: collapse; width: 85%; margin-right: auto"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;2022&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&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;Expected life &#x2013; years&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_907_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_dtY_c20220101__20221231_zvLBHuU4jyn2" title="Expected life - years"&gt;3.0&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;Interest rate&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_902_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_pid_dp_uPure_c20220101__20221231__srt--RangeAxis__srt--MinimumMember_z1nF2QJBG8Da" title="Interest rate"&gt;1.76&lt;/span&gt;
&#x2013; &lt;span id="xdx_906_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_pid_dp_uPure_c20220101__20221231__srt--RangeAxis__srt--MaximumMember_zJCHJWN1n5Sc" title="Interest rate"&gt;3.64&lt;/span&gt;&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: 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 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--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_pid_dp_uPure_c20220101__20221231__srt--RangeAxis__srt--MinimumMember_zL0Ju8HveQak" title="Volatility"&gt;66.01&lt;/span&gt; - &lt;span id="xdx_909_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_pid_dp_uPure_c20220101__20221231__srt--RangeAxis__srt--MaximumMember_zXdJFlpmmL6j" title="Volatility"&gt;69.66&lt;/span&gt;&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&gt;Weighted average fair value of options granted&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;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_90B_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_pid_c20220101__20221231__srt--RangeAxis__srt--MinimumMember_zQ362VRFc0nl" title="Weighted average fair value of options granted"&gt;1.46&lt;/span&gt;
&#x2013; &lt;span id="xdx_90F_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_pid_c20220101__20221231__srt--RangeAxis__srt--MaximumMember_z9uhnUbuxZlj" title="Weighted average fair value of options granted"&gt;1.65&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_8AC_zyQl82EQV6I8" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 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 six months ended June 30, 2023 and 2022, the Company did not grant any new options to consultants or employees. Options granted in
previous quarters resulted in expenses in the amount of $&lt;span id="xdx_90A_eus-gaap--StockOptionPlanExpense_pp0d_c20230101__20230630__srt--TitleOfIndividualAxis__custom--ConsultantsMember_zrLfZFYMJtcd" title="Stock option plan expense"&gt;330,862&lt;/span&gt; for consultants (2022 - $&lt;span id="xdx_90B_eus-gaap--StockOptionPlanExpense_pp0d_c20220101__20220630__srt--TitleOfIndividualAxis__custom--ConsultantsMember_zEI8FIG7LTB" title="Stock option plan expense"&gt;31,587&lt;/span&gt;) and in the amount of $&lt;span id="xdx_903_ecustom--AdditionalExpensesDueToOptionsGranted_c20230101__20230630__srt--TitleOfIndividualAxis__custom--EmployeesMember_zxSm7GCoguGh" title="Additional expenses due to options granted"&gt;31,594&lt;/span&gt; for employees
during the six months ended June 30, 2023 (2022 - $&lt;span id="xdx_901_ecustom--AdditionalExpensesDueToOptionsGranted_c20220101__20220630__srt--TitleOfIndividualAxis__custom--EmployeesMember_zMdkmrahwhs4" title="Additional expenses due to options granted"&gt;74,228&lt;/span&gt;). There were &lt;span id="xdx_900_eus-gaap--StockIssuedDuringPeriodSharesStockOptionsExercised_c20230101__20230630__srt--TitleOfIndividualAxis__custom--EmployeesMember_z7rQ0NdQb3cj" title="Stock options exercised"&gt;8,000&lt;/span&gt; employee and &lt;span id="xdx_90A_eus-gaap--StockIssuedDuringPeriodSharesStockOptionsExercised_dxL_c20230101__20230630__srt--TitleOfIndividualAxis__custom--ConsultantMember_zOim8qEBGVS4" title="Stock options exercised::XDX::-"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1597"&gt;nil&lt;/span&gt;&lt;/span&gt; consultant stock options exercised during
the six months ended June 30, 2023 (2022 &#x2013; &lt;span id="xdx_905_eus-gaap--StockIssuedDuringPeriodSharesStockOptionsExercised_c20220101__20220630__srt--TitleOfIndividualAxis__custom--EmployeesMember_zehgczLhn177" title="Stock options exercised"&gt;29,500&lt;/span&gt; employee; nil consultant).&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 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 June 30, 2023, there was approximately $&lt;span id="xdx_900_eus-gaap--EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_iI_pp0p0_c20230630_zbJQ4SZteUn3" title="Stock vested compensation non vested"&gt;1,070,505&lt;/span&gt; of compensation expense related to non-vested awards. This expense is expected to
be recognized over a weighted average period of &lt;span id="xdx_906_eus-gaap--EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_dtY_c20230101__20230630_zKQkZrAJTYah" title="Weighted average period expected to be recognized"&gt;2.2&lt;/span&gt; years.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
aggregate intrinsic value of vested options outstanding at June 30, 2023 is $&lt;span id="xdx_904_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAggregateIntrinsicValue_iI_dxL_c20230630__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--CanadaRevenueAgencyMember_zvErdMeFfsi" title="Aggregate intrinsic value of vested options::XDX::-"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1605"&gt;nil&lt;/span&gt;&lt;/span&gt; (2022 &#x2013; $&lt;span id="xdx_908_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAggregateIntrinsicValue_iI_dxL_c20221231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--CanadaRevenueAgencyMember_zWVWNJofIEaa" title="Aggregate intrinsic value of vested options::XDX::-"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1607"&gt;nil&lt;/span&gt;&lt;/span&gt;).&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

</us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage
      contextRef="From2023-01-01to2023-06-30"
      decimals="INF"
      unitRef="Pure">1</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod contextRef="From2023-01-01to2023-06-30">P5Y</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod>
    <us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock contextRef="From2023-01-01to2023-06-30">&lt;p id="xdx_895_eus-gaap--ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock_zfxl3O3f6Ta" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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 Company&#x2019;s stock option activities for the year ended December 31, 2022 and the six month period
ended June 30, 2023:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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 style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_8BA_z4dw2pbQQzCb" style="display: none"&gt;SCHEDULE
OF STOCK OPTION ACTIVITIES&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#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="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;Number of&lt;br/&gt; shares&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 colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;Exercise price&lt;br/&gt; per share&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 colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;Weighted&lt;br/&gt; average &lt;br/&gt;
exercise &lt;br/&gt; price&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&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: rgb(204,238,255)"&gt;
    &lt;td style="width: 51%"&gt;Balance, December 31, 2021&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_98E_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iS_pid_c20220101__20221231_zJuWVd893JWg" style="width: 13%; text-align: right" title="Number of shares, Beginning Balance"&gt;789,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;$&lt;/td&gt;&lt;td style="width: 13%; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_904_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice_iS_c20220101__20221231__srt--RangeAxis__srt--MinimumMember_zwIUCOrBWkvd" title="Exercise price per share, Beginning Balance"&gt;1.42&lt;/span&gt; &#x2013; &lt;span id="xdx_90C_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice_iS_c20220101__20221231__srt--RangeAxis__srt--MaximumMember_zpoMUlHvHEy9" title="Exercise price per share, Beginning Balance"&gt;4.13&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_985_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_iS_c20220101__20221231_zffIqyKPDY91" style="width: 11%; text-align: right" title="Weighted average exercise price, Beginning Balance"&gt;2.78&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;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_983_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_pid_c20220101__20221231_zEVaTFPRqHii" style="text-align: right" title="Number of shares, Granted"&gt;981,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 style="text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_908_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeGrantedOptionsExercisePrice_c20220101__20221231__srt--RangeAxis__srt--MinimumMember_zd1KasXqxSvl" title="Exercise price per share, Granted"&gt;3.55&lt;/span&gt; &#x2013; &lt;span id="xdx_903_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeGrantedOptionsExercisePrice_c20220101__20221231__srt--RangeAxis__srt--MaximumMember_z97xzdffHC6e" title="Exercise price per share, Granted"&gt;3.61&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;$&lt;/td&gt;&lt;td id="xdx_98E_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_c20220101__20221231_z6vmho7MA30j" style="text-align: right" title="Weighted average exercise price, Granted"&gt;3.55&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;Cancelled or expired&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--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod_iN_pid_di_c20220101__20221231_z7vzL9wAcVX4" style="text-align: right" title="Number of shares, Cancelled or expired"&gt;(13,486&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;/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_90F_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice_c20220101__20221231__srt--RangeAxis__srt--MinimumMember_zMNXTsOzmUf9" title="Exercise price per share, Cancelled"&gt;1.70&lt;/span&gt; &#x2013; &lt;span id="xdx_90E_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice_c20220101__20221231__srt--RangeAxis__srt--MaximumMember_zD9eeSjjpST" title="Exercise price per share, Cancelled"&gt;3.61&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;$&lt;/td&gt;&lt;td id="xdx_987_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice_c20220101__20221231_zD6Ne8U90FBl" style="text-align: right" title="Weighted average exercise price, Cancelled or expired"&gt;2.32&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-bottom: 1.5pt"&gt;Exercised&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_98D_eus-gaap--StockIssuedDuringPeriodSharesStockOptionsExercised_iN_pid_di_c20220101__20221231_zHt490JTXry" style="border-bottom: Black 1.5pt solid; text-align: right" title="Number of shares, Exercised"&gt;(71,014&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;$&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;&lt;span id="xdx_906_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExcercisedOptionsExercisePrice_c20220101__20221231__srt--RangeAxis__srt--MinimumMember_zqbAOLWygKtg" title="Exercise price per share, Exercised"&gt;1.42&lt;/span&gt; &#x2013; &lt;span id="xdx_902_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExcercisedOptionsExercisePrice_c20220101__20221231__srt--RangeAxis__srt--MaximumMember_zvozzROO4jli" title="Exercise price per share, Exercised"&gt;2.44&lt;/span&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;$&lt;/td&gt;&lt;td id="xdx_98E_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_c20220101__20221231_zFSKk0pRJjN8" style="border-bottom: Black 1.5pt solid; text-align: right" title="Weighted average exercise price, Exercised"&gt;1.98&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&gt;Balance, December 31, 2022 &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_905_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iS_pid_c20230101__20230630_zdDZq4yJIRp5" title="Number of shares, Beginning Balance"&gt;1,686,000&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 style="text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_902_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice_iS_pid_c20230101__20230630__srt--RangeAxis__srt--MinimumMember_z3sDOrhs83rd" title="Exercise price per share, Beginning Balance"&gt;1.70&lt;/span&gt; &#x2013; &lt;span id="xdx_90F_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice_iS_pid_c20230101__20230630__srt--RangeAxis__srt--MaximumMember_zkwgPVKgVGB1" title="Exercise price per share, Beginning Balance"&gt;4.13&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;$&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;span id="xdx_903_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_iS_c20230101__20230630_zqOQq4nWx8R2" title="Weighted average exercise price, Beginning Balance"&gt;3.27&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-bottom: 1.5pt"&gt;Exercised&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--StockIssuedDuringPeriodSharesStockOptionsExercised_iN_pid_di_c20230101__20230630_ztlCwuJvLPl4" style="border-bottom: Black 1.5pt solid; text-align: right" title="Number of shares, Exercised"&gt;(8,000&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;$&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;span id="xdx_903_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExcercisedOptionsExercisePrice_c20230101__20230630_zKpoXi6RtGM4" title="Exercise price per share, Exercised"&gt;1.70&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;$&lt;/td&gt;&lt;td id="xdx_98A_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_c20230101__20230630_zlMPCU8pRDBe" style="border-bottom: Black 1.5pt solid; text-align: right" title="Weighted average exercise price, Exercised"&gt;1.70&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: 1.5pt"&gt;&lt;p style="margin: 0"&gt;Balance, June 30, 2023&lt;/p&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;&lt;span id="xdx_907_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iE_pid_c20230101__20230630_zVmjWPCpwZ9k" title="Number of shares Exercisable, Ending Balance"&gt;1,678,000&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;$&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;p style="margin: 0"&gt;&lt;span id="xdx_901_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice_iE_pid_c20230101__20230630__srt--RangeAxis__srt--MinimumMember_zfunBo7xfEF5" title="Exercise price per share, Ending Balance"&gt;1.75&lt;/span&gt; &#x2013; &lt;span id="xdx_901_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice_iE_pid_c20230101__20230630__srt--RangeAxis__srt--MaximumMember_zXPHDo7jauoj" title="Exercise price per share, Ending Balance"&gt;4.13&lt;/span&gt;&lt;/p&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;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;p style="margin: 0"&gt;&lt;span id="xdx_903_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_iE_c20230101__20230630_zLnvDSZ2mV11" title="Weighted average exercise price, Ending Balance"&gt;3.27&lt;/span&gt;&lt;/p&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-bottom: 1.5pt"&gt;Exercisable, June 30, 2023&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--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_iE_pid_c20230101__20230630_z1bXJQS203Jg" style="border-bottom: Black 1.5pt solid; text-align: right" title="Number of shares Exercisable, Ending Balance"&gt;672,000&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;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_906_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingExercisableOptionsExercisePrice_iE_pid_c20230101__20230630__srt--RangeAxis__srt--MinimumMember_zhWusqCJDj5" title="Exercise price per share Exercisable, Ending Balance"&gt;1.75&lt;/span&gt;
&#x2013; &lt;span id="xdx_90A_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingExercisableOptionsExercisePrice_iE_pid_c20230101__20230630__srt--RangeAxis__srt--MaximumMember_zpAHI9NBtmTl" title="Exercise price per share Exercisable, Ending Balance"&gt;4.13&lt;/span&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;$&lt;/td&gt;&lt;td id="xdx_980_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_iE_c20230101__20230630_zrEhyCDCqOFb" style="border-bottom: Black 1.5pt solid; text-align: right" title="Weighted average exercise price, Ending Balance"&gt;2.94&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:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber contextRef="AsOf2021-12-31" decimals="INF" unitRef="Shares">789500</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <FSI:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice
      contextRef="AsOf2021-12-31_srt_MinimumMember"
      decimals="INF"
      unitRef="USDPShares">1.42</FSI:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice>
    <FSI:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice
      contextRef="AsOf2021-12-31_srt_MaximumMember"
      decimals="INF"
      unitRef="USDPShares">4.13</FSI:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
      contextRef="AsOf2021-12-31"
      decimals="INF"
      unitRef="USDPShares">2.78</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross
      contextRef="From2022-01-012022-12-31"
      decimals="INF"
      unitRef="Shares">981000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross>
    <FSI:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeGrantedOptionsExercisePrice
      contextRef="From2022-01-012022-12-31_srt_MinimumMember"
      decimals="INF"
      unitRef="USDPShares">3.55</FSI:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeGrantedOptionsExercisePrice>
    <FSI:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeGrantedOptionsExercisePrice
      contextRef="From2022-01-012022-12-31_srt_MaximumMember"
      decimals="INF"
      unitRef="USDPShares">3.61</FSI:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeGrantedOptionsExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice
      contextRef="From2022-01-012022-12-31"
      decimals="INF"
      unitRef="USDPShares">3.55</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod
      contextRef="From2022-01-012022-12-31"
      decimals="INF"
      unitRef="Shares">13486</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod>
    <FSI:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice
      contextRef="From2022-01-012022-12-31_srt_MinimumMember"
      decimals="INF"
      unitRef="USDPShares">1.70</FSI:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice>
    <FSI:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice
      contextRef="From2022-01-012022-12-31_srt_MaximumMember"
      decimals="INF"
      unitRef="USDPShares">3.61</FSI:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice
      contextRef="From2022-01-012022-12-31"
      decimals="INF"
      unitRef="USDPShares">2.32</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="From2022-01-012022-12-31"
      decimals="INF"
      unitRef="Shares">71014</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <FSI:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExcercisedOptionsExercisePrice
      contextRef="From2022-01-012022-12-31_srt_MinimumMember"
      decimals="INF"
      unitRef="USDPShares">1.42</FSI:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExcercisedOptionsExercisePrice>
    <FSI:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExcercisedOptionsExercisePrice
      contextRef="From2022-01-012022-12-31_srt_MaximumMember"
      decimals="INF"
      unitRef="USDPShares">2.44</FSI:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExcercisedOptionsExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice
      contextRef="From2022-01-012022-12-31"
      decimals="INF"
      unitRef="USDPShares">1.98</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber contextRef="AsOf2022-12-31" decimals="INF" unitRef="Shares">1686000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <FSI:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice
      contextRef="AsOf2022-12-31_srt_MinimumMember"
      decimals="INF"
      unitRef="USDPShares">1.70</FSI:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice>
    <FSI:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice
      contextRef="AsOf2022-12-31_srt_MaximumMember"
      decimals="INF"
      unitRef="USDPShares">4.13</FSI:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
      contextRef="AsOf2022-12-31"
      decimals="INF"
      unitRef="USDPShares">3.27</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="From2023-01-01to2023-06-30"
      decimals="INF"
      unitRef="Shares">8000</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <FSI:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExcercisedOptionsExercisePrice
      contextRef="From2023-01-01to2023-06-30"
      decimals="INF"
      unitRef="USDPShares">1.70</FSI:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExcercisedOptionsExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice
      contextRef="From2023-01-01to2023-06-30"
      decimals="INF"
      unitRef="USDPShares">1.70</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber contextRef="AsOf2023-06-30" decimals="INF" unitRef="Shares">1678000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <FSI:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice
      contextRef="AsOf2023-06-30_srt_MinimumMember"
      decimals="INF"
      unitRef="USDPShares">1.75</FSI:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice>
    <FSI:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice
      contextRef="AsOf2023-06-30_srt_MaximumMember"
      decimals="INF"
      unitRef="USDPShares">4.13</FSI:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
      contextRef="AsOf2023-06-30"
      decimals="INF"
      unitRef="USDPShares">3.27</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber contextRef="AsOf2023-06-30" decimals="INF" unitRef="Shares">672000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber>
    <FSI:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingExercisableOptionsExercisePrice
      contextRef="AsOf2023-06-30_srt_MinimumMember"
      decimals="INF"
      unitRef="USDPShares">1.75</FSI:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingExercisableOptionsExercisePrice>
    <FSI:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingExercisableOptionsExercisePrice
      contextRef="AsOf2023-06-30_srt_MaximumMember"
      decimals="INF"
      unitRef="USDPShares">4.13</FSI:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingExercisableOptionsExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice
      contextRef="AsOf2023-06-30"
      decimals="INF"
      unitRef="USDPShares">2.94</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2 contextRef="From2023-01-01to2023-06-30">P3Y4M24D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2>
    <us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock contextRef="From2023-01-01to2023-06-30">&lt;p id="xdx_892_eus-gaap--ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock_zwJKaCMQJ3d2" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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 each option grant is calculated using the following weighted average assumptions:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_8B1_z7Jei0Vm5bP" style="display: none"&gt;SCHEDULE
OF STOCK OPTION FAIR VALUE ASSUMPTIONS&lt;/span&gt;&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; margin-left: auto; border-collapse: collapse; width: 85%; margin-right: auto"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;2022&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&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;Expected life &#x2013; years&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_907_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_dtY_c20220101__20221231_zvLBHuU4jyn2" title="Expected life - years"&gt;3.0&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;Interest rate&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_902_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_pid_dp_uPure_c20220101__20221231__srt--RangeAxis__srt--MinimumMember_z1nF2QJBG8Da" title="Interest rate"&gt;1.76&lt;/span&gt;
&#x2013; &lt;span id="xdx_906_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_pid_dp_uPure_c20220101__20221231__srt--RangeAxis__srt--MaximumMember_zJCHJWN1n5Sc" title="Interest rate"&gt;3.64&lt;/span&gt;&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: 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 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--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_pid_dp_uPure_c20220101__20221231__srt--RangeAxis__srt--MinimumMember_zL0Ju8HveQak" title="Volatility"&gt;66.01&lt;/span&gt; - &lt;span id="xdx_909_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_pid_dp_uPure_c20220101__20221231__srt--RangeAxis__srt--MaximumMember_zXdJFlpmmL6j" title="Volatility"&gt;69.66&lt;/span&gt;&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&gt;Weighted average fair value of options granted&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;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_90B_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_pid_c20220101__20221231__srt--RangeAxis__srt--MinimumMember_zQ362VRFc0nl" title="Weighted average fair value of options granted"&gt;1.46&lt;/span&gt;
&#x2013; &lt;span id="xdx_90F_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_pid_c20220101__20221231__srt--RangeAxis__srt--MaximumMember_z9uhnUbuxZlj" title="Weighted average fair value of options granted"&gt;1.65&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;

</us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1 contextRef="From2022-01-012022-12-31">P3Y</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate
      contextRef="From2022-01-012022-12-31_srt_MinimumMember"
      decimals="INF"
      unitRef="Pure">0.0176</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate
      contextRef="From2022-01-012022-12-31_srt_MaximumMember"
      decimals="INF"
      unitRef="Pure">0.0364</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate
      contextRef="From2022-01-012022-12-31_srt_MinimumMember"
      decimals="INF"
      unitRef="Pure">0.6601</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate
      contextRef="From2022-01-012022-12-31_srt_MaximumMember"
      decimals="INF"
      unitRef="Pure">0.6966</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="From2022-01-012022-12-31_srt_MinimumMember"
      decimals="INF"
      unitRef="USDPShares">1.46</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="From2022-01-012022-12-31_srt_MaximumMember"
      decimals="INF"
      unitRef="USDPShares">1.65</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:StockOptionPlanExpense
      contextRef="From2023-01-012023-06-30_custom_ConsultantsMember"
      decimals="0"
      unitRef="USD">330862</us-gaap:StockOptionPlanExpense>
    <us-gaap:StockOptionPlanExpense
      contextRef="From2022-01-012022-06-30_custom_ConsultantsMember"
      decimals="0"
      unitRef="USD">31587</us-gaap:StockOptionPlanExpense>
    <FSI:AdditionalExpensesDueToOptionsGranted
      contextRef="From2023-01-012023-06-30_custom_EmployeesMember"
      decimals="0"
      unitRef="USD">31594</FSI:AdditionalExpensesDueToOptionsGranted>
    <FSI:AdditionalExpensesDueToOptionsGranted
      contextRef="From2022-01-012022-06-30_custom_EmployeesMember"
      decimals="0"
      unitRef="USD">74228</FSI:AdditionalExpensesDueToOptionsGranted>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="From2023-01-012023-06-30_custom_EmployeesMember"
      decimals="INF"
      unitRef="Shares">8000</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="From2022-01-012022-06-30_custom_EmployeesMember"
      decimals="INF"
      unitRef="Shares">29500</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized contextRef="AsOf2023-06-30" decimals="0" unitRef="USD">1070505</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1 contextRef="From2023-01-01to2023-06-30">P2Y2M12D</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1>
    <us-gaap:StockholdersEquityNoteDisclosureTextBlock contextRef="From2023-01-01to2023-06-30">&lt;p id="xdx_808_eus-gaap--StockholdersEquityNoteDisclosureTextBlock_zcbNtEujyMr5" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="font: small-caps 10pt Times New Roman, Times, Serif"&gt;&lt;b&gt;14.
&lt;span id="xdx_82C_zJX1ICrr20e3"&gt;CAPITAL STOCK&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;b&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;.&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 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 six months ended June 30, 2023, &lt;span id="xdx_90C_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_pid_c20230101__20230630__srt--TitleOfIndividualAxis__custom--EmployeeMember_z1fBc2axrB7b" title="Stock options granted"&gt;8,000&lt;/span&gt; shares were issued upon the exercise of employee stock options (2022 &#x2013; &lt;span id="xdx_909_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_pid_c20220101__20220630__srt--TitleOfIndividualAxis__custom--EmployeeMember_zXP3F3SoBQtg" title="Stock options granted"&gt;29,500&lt;/span&gt;).&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 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 six months ended June 30 2023, the Company issued &lt;span id="xdx_90E_eus-gaap--StockIssuedDuringPeriodSharesIssuedForServices_c20230101__20230630_zhz6VXGWhtli" title="Consultant for services, shares"&gt;1,272&lt;/span&gt; shares to a consultant for services rendered, resulting in an expense of
$&lt;span id="xdx_90F_eus-gaap--StockIssuedDuringPeriodValueIssuedForServices_c20230101__20230630_zmpc3LJZwwki" title="Consultant for services, value"&gt;4,070&lt;/span&gt; on the unaudited interim condensed consolidated statements of income and comprehensive income for the six months ended June 30, 2023&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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; text-align: justify; margin: 0pt 0; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;In
six months ended June 30, 2023, the Company announced a special dividend of $&lt;span id="xdx_909_eus-gaap--DividendsPayableAmountPerShare_iI_pid_c20230630_zJT4oAg0RP44" title="Dividends per share"&gt;0.05&lt;/span&gt; per share that was paid on May 16, 2023 to shareholders.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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:StockholdersEquityNoteDisclosureTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross
      contextRef="From2023-01-012023-06-30_custom_EmployeeMember"
      decimals="INF"
      unitRef="Shares">8000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross
      contextRef="From2022-01-012022-06-30_custom_EmployeeMember"
      decimals="INF"
      unitRef="Shares">29500</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross>
    <us-gaap:StockIssuedDuringPeriodSharesIssuedForServices
      contextRef="From2023-01-01to2023-06-30"
      decimals="INF"
      unitRef="Shares">1272</us-gaap:StockIssuedDuringPeriodSharesIssuedForServices>
    <us-gaap:StockIssuedDuringPeriodValueIssuedForServices
      contextRef="From2023-01-01to2023-06-30"
      decimals="0"
      unitRef="USD">4070</us-gaap:StockIssuedDuringPeriodValueIssuedForServices>
    <us-gaap:DividendsPayableAmountPerShare
      contextRef="AsOf2023-06-30"
      decimals="INF"
      unitRef="USDPShares">0.05</us-gaap:DividendsPayableAmountPerShare>
    <us-gaap:MinorityInterestDisclosureTextBlock contextRef="From2023-01-01to2023-06-30">&lt;p id="xdx_80E_eus-gaap--MinorityInterestDisclosureTextBlock_z7TPFrlKdtd1" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="font: small-caps 10pt Times New Roman, Times, Serif"&gt;&lt;b&gt;15.
&lt;span id="xdx_828_zrhQKiglLGe"&gt;NON-CONTROLLING INTERESTS&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify"&gt;&lt;span style="font: small-caps 10pt Times New Roman, Times, Serif"&gt;&lt;b&gt;(&lt;/b&gt;&lt;/span&gt;&lt;b&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;a&lt;span style="font-variant: small-caps"&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;ENP Investments is a limited liability corporation
(&#x201c;LLC&#x201d;) that manufactures and distributes golf, turf and ornamental agriculture products in Mendota, Illinois. The Company
owns a&lt;span id="xdx_908_eus-gaap--SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest_pid_dp_uPure_c20230101__20230630__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember_z0CWn39X6Gsg" title="Subsidiary company ownership interest rate"&gt; 65&lt;/span&gt;% interest in ENP Investments through its wholly-owned subsidiary NanoChem. An unrelated party (&#x201c;NCI&#x201d;) owns the
remaining &lt;span id="xdx_90B_eus-gaap--MinorityInterestOwnershipPercentageByParent_iI_pid_dp_uPure_c20230630__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember_zbWcpUq0bfY9" title="Related party owner ship percentage"&gt;35&lt;/span&gt;% interest in ENP Investments. ENP Mendota is a wholly owned subsidiary of ENP Investments. ENP Mendota leases warehouse
space. For financial reporting purposes, the assets, liabilities and earnings of both of the LLC&#x2019;s are consolidated into these
financial statements. The NCI&#x2019;s ownership interest in ENP Investments is recorded in non-controlling interests in these consolidated
financial statements. The non-controlling interest represents NCI&#x2019;s interest in the earnings and equity of ENP Investments. ENP
Investments is allocated to the TPA segment.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;ENP
Investments makes cash distributions to its equity owners based on formulas defined within its Ownership Interest Purchase Agreement
dated October 1, 2018. Distributions are defined in the Ownership Interest Purchase Agreement as cash on hand to the extent it exceeds
current and anticipated long-term and short-term needs, including, without limitation, needs for operating expenses, debt service, acquisitions,
reserves, and mandatory distributions, if any.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;From
the effective date of acquisition onward, the minimum distributions requirements under the Ownership Interest Purchase Agreement were
satisfied. The total distribution from the effective date of acquisition onward was $&lt;span id="xdx_906_eus-gaap--PaymentsToMinorityShareholders_c20230101__20230630__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember_zhDYzLDgMH03" title="Partnership distribution to non-controlling interest"&gt;2,894,214&lt;/span&gt;.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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_89F_ecustom--ScheduleOfDistributionsTableTextBlock_zFMxiGRJt3Te" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_8BC_ztHIY4YTAjYb" style="display: none"&gt;SCHEDULE
OF DISTRIBUTIONS&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 85%; margin-right: auto"&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 80%; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Balance, December 31, 2021&lt;/span&gt;&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 id="xdx_989_eus-gaap--MinorityInterest_iS_c20220101__20221231__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_zgvlhy7K9l2c" style="width: 16%; text-align: right" title="Distribution to noncontrolling interests, Beginning balance"&gt;2,602,843&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;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Distribution&lt;/span&gt;&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 id="xdx_98C_eus-gaap--MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders_iN_di_c20220101__20221231__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_zKh85xGUkdb2" style="text-align: right" title="Distribution"&gt;(689,434&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-bottom: 1.5pt; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Non-controlling interest share of income&lt;/span&gt;&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 id="xdx_98A_eus-gaap--NetIncomeLossAttributableToNoncontrollingInterest_c20220101__20221231__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_zdZIR027pq7j" style="border-bottom: Black 1.5pt solid; text-align: right" title="Non-controlling interest share of income"&gt;691,625&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"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Balance, December 31, 2022&lt;/span&gt;&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 id="xdx_989_eus-gaap--MinorityInterest_iS_c20230101__20230630__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_zm99Go8reLVe" style="text-align: right" title="Distribution to noncontrolling interests, Beginning balance"&gt;2,605,034&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;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Distribution&lt;/span&gt;&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 id="xdx_982_eus-gaap--MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders_iN_di_c20230101__20230630__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_zrpXy4I02COg" style="text-align: right" title="Distribution"&gt;(387,696&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-bottom: 1.5pt; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Non-controlling interest share of income&lt;/span&gt;&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 id="xdx_987_eus-gaap--NetIncomeLossAttributableToNoncontrollingInterest_c20230101__20230630__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_zXNJOMaOcfh6" style="border-bottom: Black 1.5pt solid; text-align: right" title="Non-controlling interest share of income"&gt;264,987&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: 1.5pt; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Balance, June 30, 2023&lt;/span&gt;&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;$&lt;/td&gt;&lt;td id="xdx_98E_eus-gaap--MinorityInterest_iE_c20230101__20230630__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_zpYmS9UzsNCc" style="border-bottom: Black 1.5pt solid; text-align: right" title="Distribution to noncontrolling interests, Ending balance"&gt;2,482,325&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_8A6_zqNP7Yr6dvx8" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 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 six months ended June 30, 2023, the Company had sales of $&lt;span id="xdx_906_eus-gaap--Revenues_c20230101__20230630__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember_zEPStAfTxf8a" title="Sales"&gt;2,203,761&lt;/span&gt; (2022 - $&lt;span id="xdx_90A_eus-gaap--Revenues_c20220101__20220630__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember_zMdz8PaNAKfj" title="Sales"&gt;2,760,661&lt;/span&gt;) to the party that holds &lt;span id="xdx_903_eus-gaap--MinorityInterestOwnershipPercentageByParent_iI_pid_dp_uPure_c20230630__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember_zVy3CijguaOe" title="Related party ownership percentage"&gt;35&lt;/span&gt;% interest in ENP
Investments, of which $&lt;span id="xdx_906_eus-gaap--AccountsReceivableNetCurrent_iI_c20230630__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember_zpCPAIe1er6g" title="Accounts receivable"&gt;359,435&lt;/span&gt; is included within Accounts Receivable as of June 30, 2023 (December 31, 2022 &#x2013; $&lt;span id="xdx_90C_eus-gaap--AccountsReceivableNetCurrent_iI_c20221231__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember_z547LM1WIdC9" title="Accounts receivable"&gt;3,634,083&lt;/span&gt;).&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify"&gt;&lt;span style="font: small-caps 10pt Times New Roman, Times, Serif"&gt;&lt;b&gt;(&lt;/b&gt;&lt;/span&gt;&lt;b&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;b&lt;span style="font-variant: small-caps"&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;317 Mendota is a limited liability corporation
(&#x201c;LLC&#x201d;) that owns real estate that the Company intends to occupy part of while renting out the excess. The Company owns a
&lt;span id="xdx_904_eus-gaap--SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest_pid_dp_uPure_c20230101__20230630__srt--OwnershipAxis__custom--MendotaLLCMember_zKWiHrsGXP45" title="Subsidiary company ownership interest rate"&gt;80&lt;/span&gt;% interest in 317 Mendota and an unrelated party (&#x201c;NCI&#x201d;) owns the remaining &lt;span id="xdx_906_eus-gaap--MinorityInterestOwnershipPercentageByParent_iI_pid_dp_uPure_c20230630__srt--OwnershipAxis__custom--MendotaLLCMember_z4llkMj3XUxj" title="Related party owner ship percentage"&gt;20&lt;/span&gt;% interest in 317 Mendota. For financial
reporting purposes, the assets, liabilities and earnings of the LLC&#x2019;s are consolidated into these financial statements. The NCI&#x2019;s
ownership interest in 317 Mendota is recorded in non-controlling interests in these consolidated financial statements. The non-controlling
interest represents NCI&#x2019;s interest in the earnings and equity of 317 Mendota. 317 Mendota is allocated to the TPA segment as that
is the intended use of the building.&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_891_ecustom--ScheduleOfNonControllingInterestRelatedToAcquisitionTableTextBlock_zUsN686B5kMa" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_8BA_zAF5i0ZdUOI" style="display: none"&gt;SCHEDULE
OF NON CONTROLLING INTEREST RELATED TO ACQUISITION &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&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; margin-left: auto; border-collapse: collapse; width: 85%; margin-right: auto"&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td&gt;Balance, December 31, 2022&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_eus-gaap--MinorityInterest_iS_c20230101__20230630__srt--OwnershipAxis__custom--MendotaLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_zTdWVGvNwkZc" style="text-align: right" title="Distribution to noncontrolling interests, Beginning balance"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1661"&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="width: 80%; padding-bottom: 1.5pt"&gt;Acquisition&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;&#160;&lt;/td&gt;&lt;td id="xdx_985_eus-gaap--PaymentsToAcquireBusinessesAndInterestInAffiliates_c20230101__20230630__srt--OwnershipAxis__custom--MendotaLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_z5odYIPDKiBj" style="border-bottom: Black 1.5pt solid; width: 16%; text-align: right" title="Distribution to noncontrolling interests, Acquisition"&gt;200,000&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: 1.5pt"&gt;Balance, June 30, 2023&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_981_eus-gaap--MinorityInterest_iE_c20230101__20230630__srt--OwnershipAxis__custom--MendotaLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_zNhAftE5Et9j" style="border-bottom: Black 1.5pt solid; text-align: right" title="Distribution to noncontrolling interests, Ending balance"&gt;200,000&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_8A4_zdUhRUavJ7z9" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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:MinorityInterestDisclosureTextBlock>
    <us-gaap:SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest
      contextRef="From2023-01-012023-06-30_custom_ENPInvestmentsLLCMember"
      decimals="INF"
      unitRef="Pure">0.65</us-gaap:SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest>
    <us-gaap:MinorityInterestOwnershipPercentageByParent
      contextRef="AsOf2023-06-30_custom_ENPInvestmentsLLCMember418066937"
      decimals="INF"
      unitRef="Pure">0.35</us-gaap:MinorityInterestOwnershipPercentageByParent>
    <us-gaap:PaymentsToMinorityShareholders
      contextRef="From2023-01-012023-06-30_custom_ENPInvestmentsLLCMember"
      decimals="0"
      unitRef="USD">2894214</us-gaap:PaymentsToMinorityShareholders>
    <FSI:ScheduleOfDistributionsTableTextBlock contextRef="From2023-01-01to2023-06-30">&lt;p id="xdx_89F_ecustom--ScheduleOfDistributionsTableTextBlock_zFMxiGRJt3Te" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_8BC_ztHIY4YTAjYb" style="display: none"&gt;SCHEDULE
OF DISTRIBUTIONS&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 85%; margin-right: auto"&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 80%; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Balance, December 31, 2021&lt;/span&gt;&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 id="xdx_989_eus-gaap--MinorityInterest_iS_c20220101__20221231__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_zgvlhy7K9l2c" style="width: 16%; text-align: right" title="Distribution to noncontrolling interests, Beginning balance"&gt;2,602,843&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;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Distribution&lt;/span&gt;&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 id="xdx_98C_eus-gaap--MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders_iN_di_c20220101__20221231__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_zKh85xGUkdb2" style="text-align: right" title="Distribution"&gt;(689,434&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-bottom: 1.5pt; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Non-controlling interest share of income&lt;/span&gt;&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 id="xdx_98A_eus-gaap--NetIncomeLossAttributableToNoncontrollingInterest_c20220101__20221231__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_zdZIR027pq7j" style="border-bottom: Black 1.5pt solid; text-align: right" title="Non-controlling interest share of income"&gt;691,625&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"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Balance, December 31, 2022&lt;/span&gt;&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 id="xdx_989_eus-gaap--MinorityInterest_iS_c20230101__20230630__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_zm99Go8reLVe" style="text-align: right" title="Distribution to noncontrolling interests, Beginning balance"&gt;2,605,034&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;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Distribution&lt;/span&gt;&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 id="xdx_982_eus-gaap--MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders_iN_di_c20230101__20230630__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_zrpXy4I02COg" style="text-align: right" title="Distribution"&gt;(387,696&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-bottom: 1.5pt; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Non-controlling interest share of income&lt;/span&gt;&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 id="xdx_987_eus-gaap--NetIncomeLossAttributableToNoncontrollingInterest_c20230101__20230630__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_zXNJOMaOcfh6" style="border-bottom: Black 1.5pt solid; text-align: right" title="Non-controlling interest share of income"&gt;264,987&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: 1.5pt; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Balance, June 30, 2023&lt;/span&gt;&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;$&lt;/td&gt;&lt;td id="xdx_98E_eus-gaap--MinorityInterest_iE_c20230101__20230630__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_zpYmS9UzsNCc" style="border-bottom: Black 1.5pt solid; text-align: right" title="Distribution to noncontrolling interests, Ending balance"&gt;2,482,325&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

</FSI:ScheduleOfDistributionsTableTextBlock>
    <us-gaap:MinorityInterest
      contextRef="AsOf2021-12-31_custom_ENPInvestmentsLLCMember_custom_OwnershipInterestPurchaseAgreementMember"
      decimals="0"
      unitRef="USD">2602843</us-gaap:MinorityInterest>
    <us-gaap:MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders
      contextRef="From2022-01-012022-12-31_custom_ENPInvestmentsLLCMember_custom_OwnershipInterestPurchaseAgreementMember"
      decimals="0"
      unitRef="USD">689434</us-gaap:MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders>
    <us-gaap:NetIncomeLossAttributableToNoncontrollingInterest
      contextRef="From2022-01-012022-12-31_custom_ENPInvestmentsLLCMember_custom_OwnershipInterestPurchaseAgreementMember"
      decimals="0"
      unitRef="USD">691625</us-gaap:NetIncomeLossAttributableToNoncontrollingInterest>
    <us-gaap:MinorityInterest
      contextRef="AsOf2022-12-31_custom_ENPInvestmentsLLCMember_custom_OwnershipInterestPurchaseAgreementMember"
      decimals="0"
      unitRef="USD">2605034</us-gaap:MinorityInterest>
    <us-gaap:MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders
      contextRef="From2023-01-012023-06-30_custom_ENPInvestmentsLLCMember_custom_OwnershipInterestPurchaseAgreementMember"
      decimals="0"
      unitRef="USD">387696</us-gaap:MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders>
    <us-gaap:NetIncomeLossAttributableToNoncontrollingInterest
      contextRef="From2023-01-012023-06-30_custom_ENPInvestmentsLLCMember_custom_OwnershipInterestPurchaseAgreementMember"
      decimals="0"
      unitRef="USD">264987</us-gaap:NetIncomeLossAttributableToNoncontrollingInterest>
    <us-gaap:MinorityInterest
      contextRef="AsOf2023-06-30_custom_ENPInvestmentsLLCMember_custom_OwnershipInterestPurchaseAgreementMember"
      decimals="0"
      unitRef="USD">2482325</us-gaap:MinorityInterest>
    <us-gaap:Revenues
      contextRef="From2023-01-012023-06-30_custom_ENPInvestmentsLLCMember"
      decimals="0"
      unitRef="USD">2203761</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="From2022-01-012022-06-30_custom_ENPInvestmentsLLCMember"
      decimals="0"
      unitRef="USD">2760661</us-gaap:Revenues>
    <us-gaap:MinorityInterestOwnershipPercentageByParent
      contextRef="AsOf2023-06-30_custom_ENPInvestmentsLLCMember418066937"
      decimals="INF"
      unitRef="Pure">0.35</us-gaap:MinorityInterestOwnershipPercentageByParent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="AsOf2023-06-30_custom_ENPInvestmentsLLCMember418066937"
      decimals="0"
      unitRef="USD">359435</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="AsOf2022-12-31_custom_ENPInvestmentsLLCMember"
      decimals="0"
      unitRef="USD">3634083</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest
      contextRef="From2023-01-012023-06-30_custom_MendotaLLCMember"
      decimals="INF"
      unitRef="Pure">0.80</us-gaap:SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest>
    <us-gaap:MinorityInterestOwnershipPercentageByParent
      contextRef="AsOf2023-06-30_custom_MendotaLLCMember"
      decimals="INF"
      unitRef="Pure">0.20</us-gaap:MinorityInterestOwnershipPercentageByParent>
    <FSI:ScheduleOfNonControllingInterestRelatedToAcquisitionTableTextBlock contextRef="From2023-01-01to2023-06-30">&lt;p id="xdx_891_ecustom--ScheduleOfNonControllingInterestRelatedToAcquisitionTableTextBlock_zUsN686B5kMa" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_8BA_zAF5i0ZdUOI" style="display: none"&gt;SCHEDULE
OF NON CONTROLLING INTEREST RELATED TO ACQUISITION &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&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; margin-left: auto; border-collapse: collapse; width: 85%; margin-right: auto"&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td&gt;Balance, December 31, 2022&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_eus-gaap--MinorityInterest_iS_c20230101__20230630__srt--OwnershipAxis__custom--MendotaLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_zTdWVGvNwkZc" style="text-align: right" title="Distribution to noncontrolling interests, Beginning balance"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1661"&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="width: 80%; padding-bottom: 1.5pt"&gt;Acquisition&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;&#160;&lt;/td&gt;&lt;td id="xdx_985_eus-gaap--PaymentsToAcquireBusinessesAndInterestInAffiliates_c20230101__20230630__srt--OwnershipAxis__custom--MendotaLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_z5odYIPDKiBj" style="border-bottom: Black 1.5pt solid; width: 16%; text-align: right" title="Distribution to noncontrolling interests, Acquisition"&gt;200,000&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: 1.5pt"&gt;Balance, June 30, 2023&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_981_eus-gaap--MinorityInterest_iE_c20230101__20230630__srt--OwnershipAxis__custom--MendotaLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_zNhAftE5Et9j" style="border-bottom: Black 1.5pt solid; text-align: right" title="Distribution to noncontrolling interests, Ending balance"&gt;200,000&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

</FSI:ScheduleOfNonControllingInterestRelatedToAcquisitionTableTextBlock>
    <us-gaap:PaymentsToAcquireBusinessesAndInterestInAffiliates
      contextRef="From2023-01-012023-06-30_custom_MendotaLLCMember_custom_OwnershipInterestPurchaseAgreementMember"
      decimals="0"
      unitRef="USD">200000</us-gaap:PaymentsToAcquireBusinessesAndInterestInAffiliates>
    <us-gaap:MinorityInterest
      contextRef="AsOf2023-06-30_custom_MendotaLLCMember_custom_OwnershipInterestPurchaseAgreementMember"
      decimals="0"
      unitRef="USD">200000</us-gaap:MinorityInterest>
    <us-gaap:SegmentReportingDisclosureTextBlock contextRef="From2023-01-01to2023-06-30">&lt;p id="xdx_801_eus-gaap--SegmentReportingDisclosureTextBlock_zy6MyNQxIsU4" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="font: small-caps 10pt Times New Roman, Times, Serif"&gt;&lt;b&gt;16.
&lt;span id="xdx_822_z6gjLJeIX63j"&gt;SEGMENTED, SIGNIFICANT CUSTOMER INFORMATION AND ECONOMIC DEPENDENCY&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;b&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;.&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 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 operates in &lt;span id="xdx_902_eus-gaap--NumberOfOperatingSegments_dc_uSegments_c20230101__20230630_zXHpLJ035l0l" title="Number of operating segments"&gt;two&lt;/span&gt; segments:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;(a)
&lt;/b&gt;Energy and water conservation products (as shown under the column heading &#x201c;EWCP&#x201d; below), which consists of a (i) liquid
swimming pool blankets which save energy and water by inhibiting evaporation from the pool surface, and (ii) food-safe powdered form
of the active ingredient within the liquid blankets and which are designed to be used in still or slow moving drinking water sources.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;(b)
&lt;/b&gt;Biodegradable polymers, also known as TPA&#x2019;s (as shown under the column heading &#x201c;BCPA&#x201d; below), used by the petroleum,
chemical, utility and mining industries to prevent corrosion and scaling in water piping. This product can also be used in detergents
to increase biodegradability and in agriculture to increase crop yields by enhancing fertilizer uptake.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
third product line is nitrogen conservation products used for the agriculture industry. These products decrease the loss of nitrogen
fertilizer after initial application and allows less fertilizer to be used. These products are made and sold by the Company&#x2019;s TPA
division.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
accounting policies of the segments are the same as those described in Note 2, &lt;i&gt;Significant Accounting Policies&lt;/i&gt;. The Company evaluates
performance based on profit or loss from operations before income taxes, not including nonrecurring gains and losses and foreign exchange
gains and losses.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 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 reportable segments are strategic business units that offer different, but synergistic products and services. They are
managed separately because each business requires different technology and marketing strategies.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Three
months ended June 30, 2023:&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_89A_eus-gaap--ReconciliationOfRevenueFromSegmentsToConsolidatedTextBlock_zB5lCpW4EKlj" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_8BD_zgdwHgW2mvH6" style="display: none"&gt;SCHEDULE
OF REPORTABLE SEGMENTS&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: Times New Roman, Times, Serif"&gt;&#160;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 85%; margin-right: auto"&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 colspan="2" id="xdx_49A_20230401__20230630__srt--ProductOrServiceAxis__custom--EWCPMember__us-gaap--StatementBusinessSegmentsAxis__custom--SegmentMember_zRldm77H4yCl" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;EWCP&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 colspan="2" id="xdx_49C_20230401__20230630__srt--ProductOrServiceAxis__custom--TPAMember__us-gaap--StatementBusinessSegmentsAxis__custom--SegmentMember_zWqFGIuZ9vr8" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;TPA&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 colspan="2" id="xdx_494_20230401__20230630__us-gaap--StatementBusinessSegmentsAxis__custom--SegmentMember_zmSxeg0g8uFb" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;Total&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_409_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_zCUz2ARy1Yfj" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 46%; text-align: justify"&gt;Revenue&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: 14%; text-align: right"&gt;220,602&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: 14%; text-align: right"&gt;10,100,689&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: 14%; text-align: right"&gt;10,331,291&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40C_eus-gaap--InterestExpense_z4TQMxUzcfSe" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: justify"&gt;Interest expense&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="-sec-ix-hidden: xdx2ixbrl1677"&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;115,498&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;115,498&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_407_eus-gaap--DepreciationNonproduction_zRhlBiljm7d2" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: justify"&gt;Depreciation and amortization&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;4,440&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;381,951&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;386,390&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_402_eus-gaap--IncomeTaxExpenseBenefit_zz0sFjM07wWi" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: justify"&gt;Income tax expense&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;11,657&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;342,715&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;354,372&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40C_eus-gaap--NetIncomeLoss_z0YI7fL9eQD8" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: justify"&gt;Segment profit (loss)&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;(41,262&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;851,127&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;809,865&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40D_ecustom--SegmentAssets_z95Bf0eWpikc" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: justify"&gt;Segment 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;3,257,019&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;49,544,894&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,801,913&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_406_eus-gaap--PaymentsToAcquirePropertyPlantAndEquipment_iN_di_zlAFdNdRQyY7" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: justify"&gt;Expenditures for segment 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;&lt;span style="-sec-ix-hidden: xdx2ixbrl1697"&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;(3,571,133&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;(3,571,133&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Three
months ended June 30, 2022:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&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; margin-left: auto; border-collapse: collapse; width: 85%; margin-right: auto"&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 colspan="2" id="xdx_49E_20220401__20220630__srt--ProductOrServiceAxis__custom--EWCPMember__us-gaap--StatementBusinessSegmentsAxis__custom--SegmentMember_zWGo4XsGoDti" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;EWCP&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 colspan="2" id="xdx_49D_20220401__20220630__srt--ProductOrServiceAxis__custom--TPAMember__us-gaap--StatementBusinessSegmentsAxis__custom--SegmentMember_zcuBR8xENAoh" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;TPA&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 colspan="2" id="xdx_496_20220401__20220630__us-gaap--StatementBusinessSegmentsAxis__custom--SegmentMember_ziH6G9p4Jghj" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;Total&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_409_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_zuBvAHhRt9q8" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 46%; text-align: justify"&gt;Revenue&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: 14%; text-align: right"&gt;189,569&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: 14%; text-align: right"&gt;10,975,574&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: 14%; text-align: right"&gt;11,165,143&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40C_eus-gaap--InterestExpense_z598TfuL9hT4" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: justify"&gt;Interest expense&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="-sec-ix-hidden: xdx2ixbrl1705"&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;52,139&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,139&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_407_eus-gaap--DepreciationNonproduction_zGCfYCmzE6Rf" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: justify"&gt;Depreciation and amortization&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;9,202&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;230,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;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;239,790&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_402_eus-gaap--IncomeTaxExpenseBenefit_z631UQSbBmPj" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: justify"&gt;Income tax expense&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;11,306&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;531,496&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;542,802&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40C_eus-gaap--NetIncomeLoss_zj1uvWPGFNE3" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: justify"&gt;Segment profit (loss)&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;(84,564&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;1,747,019&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,662,455&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40D_ecustom--SegmentAssets_zFvYsZFB9Ma" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: justify"&gt;Segment 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;2,386,338&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;45,168,719&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;47,555,057&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_406_eus-gaap--PaymentsToAcquirePropertyPlantAndEquipment_iN_di_zoWdJNx2zqqd" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: justify"&gt;Expenditures for segment 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;&lt;span style="-sec-ix-hidden: xdx2ixbrl1725"&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;(245,383&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;(245,383&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Six
months ended June 30, 2023:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&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; margin-left: auto; border-collapse: collapse; width: 85%; margin-right: auto"&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 colspan="2" id="xdx_49E_20230101__20230630__srt--ProductOrServiceAxis__custom--EWCPMember__us-gaap--StatementBusinessSegmentsAxis__custom--SegmentMember_zdHXUTfw7RUk" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;EWCP&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 colspan="2" id="xdx_499_20230101__20230630__srt--ProductOrServiceAxis__custom--TPAMember__us-gaap--StatementBusinessSegmentsAxis__custom--SegmentMember_zkqUiQD3TN8j" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;TPA&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 colspan="2" id="xdx_49F_20230101__20230630__us-gaap--StatementBusinessSegmentsAxis__custom--SegmentMember_z4mUmI6Ar6ve" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;Total&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_409_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_zpfak6L3f418" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 46%; text-align: justify"&gt;Revenue&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: 14%; text-align: right"&gt;301,262&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: 14%; text-align: right"&gt;19,877,546&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: 14%; text-align: right"&gt;20,178,808&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40C_eus-gaap--InterestExpense_zZY0TNv7qMS8" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: justify"&gt;Interest expense&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="-sec-ix-hidden: xdx2ixbrl1733"&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;250,368&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;250,368&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_407_eus-gaap--DepreciationNonproduction_z8kCrmaUnSRh" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: justify"&gt;Depreciation and amortization&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;8,719&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;742,855&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;751,574&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_402_eus-gaap--IncomeTaxExpenseBenefit_z43hc7eNf4L2" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: justify"&gt;Income tax expense&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;12,571&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;641,578&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;654,149&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40C_eus-gaap--NetIncomeLoss_zxnDC5RSvCu1" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: justify"&gt;Segment profit (loss)&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;(192,990&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;1,887,224&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,694,234&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40D_ecustom--SegmentAssets_zVulLeMhxOX9" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: justify"&gt;Segment 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;3,257,019&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;49,544,894&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,801,913&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_406_eus-gaap--PaymentsToAcquirePropertyPlantAndEquipment_iN_di_zdMgP6ooqV3" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: justify"&gt;Expenditures for segment 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;&lt;span style="-sec-ix-hidden: xdx2ixbrl1753"&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;(3,784,193&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;(3,784,193&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Six
months ended June 30, 2022:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&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; margin-left: auto; border-collapse: collapse; width: 85%; margin-right: auto"&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 colspan="2" id="xdx_490_20220101__20220630__srt--ProductOrServiceAxis__custom--EWCPMember__us-gaap--StatementBusinessSegmentsAxis__custom--SegmentMember_zJImNPBsDdBg" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;EWCP&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 colspan="2" id="xdx_491_20220101__20220630__srt--ProductOrServiceAxis__custom--TPAMember__us-gaap--StatementBusinessSegmentsAxis__custom--SegmentMember_z033hGIFvJ3k" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;TPA&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 colspan="2" id="xdx_495_20220101__20220630__us-gaap--StatementBusinessSegmentsAxis__custom--SegmentMember_zsRbv7Sl9VHc" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;Total&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_409_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_zgwFx06dhq08" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 46%; text-align: justify"&gt;Revenue&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: 14%; text-align: right"&gt;236,822&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: 14%; text-align: right"&gt;21,711,601&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: 14%; text-align: right"&gt;21,948,423&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40C_eus-gaap--InterestExpense_zpvUlGwNiRp7" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: justify"&gt;Interest expense&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="-sec-ix-hidden: xdx2ixbrl1761"&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;109,757&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;109,757&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_407_eus-gaap--DepreciationNonproduction_zdXc3qZp8h4d" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: justify"&gt;Depreciation and amortization&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;18,446&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;453,832&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;472,278&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_402_eus-gaap--IncomeTaxExpenseBenefit_zwMOTJMeqH1j" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: justify"&gt;Income tax expense&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;11,306&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,243,942&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,255,248&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40C_eus-gaap--NetIncomeLoss_z2VM4KN29D5c" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: justify"&gt;Segment profit (loss)&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;(208,737&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;3,404,251&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,195,514&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40D_ecustom--SegmentAssets_z6U7I5QK2YCa" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: justify"&gt;Segment 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;2,386,338&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;45,168,719&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;47,555,057&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_406_eus-gaap--PaymentsToAcquirePropertyPlantAndEquipment_iN_di_zScdJBUzD3M" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: justify"&gt;Expenditures for segment 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;&lt;span style="-sec-ix-hidden: xdx2ixbrl1781"&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;(422,067&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;(422,067&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p id="xdx_8A1_zBqBTKHL7ora" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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--ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock_zQBlM1SvLQA8" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.5in; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
sales generated in the United States and Canada are as follows:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.5in; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;/span&gt;&lt;span style="display: none"&gt;&lt;span id="xdx_8B3_zCxRdrHChQO"&gt;SCHEDULE OF REVENUE GENERATED IN UNITED STATES AND CANADA&lt;/span&gt;&lt;/span&gt;&#160;&lt;/span&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 75%; margin-right: auto"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_49E_20230101__20230630_zIn9CTbzLMd4" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;Six months ended &lt;br/&gt; June 30, 2023&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 colspan="2" id="xdx_492_20220101__20220630_zZDt3iopyZqk" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;Six months ended &lt;br/&gt; June 30, 2022&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40E_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_hsrt--StatementGeographicalAxis__country--CA_zVRdumunHcEc" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 54%"&gt;Canada&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: 18%; text-align: right"&gt;313,058&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: 20%; text-align: right"&gt;279,517&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_409_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_hsrt--StatementGeographicalAxis__custom--UnitedStatesandAbroadMember_zTq7tOWZlfyk" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 1.5pt"&gt;United States and abroad&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;19,865,750&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;21,668,906&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_40D_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_zEyMcFXoPmld" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="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 style="border-bottom: Black 2.5pt double; text-align: right"&gt;20,178,808&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;21,948,423&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_zC96oAwc8XBl" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 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--ScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock_z8mphhs4cuRa" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company&#x2019;s long-lived assets (property, equipment, leaseholds, intangibles, goodwill and right of use
assets) are located in Canada and the United States as follows:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;span style="display: none"&gt;&lt;span id="xdx_8B0_zWHDJKbLcXB4"&gt;SCHEDULE OF LONG-LIVED ASSETS ARE LOCATED IN CANADA AND UNITED STATES&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&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; margin-left: auto; border-collapse: collapse; width: 75%; margin-right: auto"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_491_20230630_zhuiEjesy1M3" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;June 30, 2023&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 colspan="2" id="xdx_495_20221231_z9xjpH3bPkc9" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;December 31, 2022&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_409_eus-gaap--NoncurrentAssets_iI_hsrt--StatementGeographicalAxis__country--CA_zd7nh4WvtGhc" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 54%"&gt;Canada&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: 18%; text-align: right"&gt;151,300&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: 20%; text-align: right"&gt;150,890&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--NoncurrentAssets_iI_hsrt--StatementGeographicalAxis__country--US_zVyFuaBS5pol" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 1.5pt"&gt;United States&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;17,706,417&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;14,699,896&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--NoncurrentAssets_iI_zSBMke8xSs0k" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="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 style="border-bottom: Black 2.5pt double; text-align: right"&gt;17,857,717&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;14,850,786&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_zXlTBUmJco6g" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Three
primary customers accounted for $&lt;span id="xdx_908_eus-gaap--AccountsReceivableNet_iI_c20230630__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember__srt--MajorCustomersAxis__custom--ThreeCustomersMember_zkXxfoi7wjc2" title="Accounts receivable, after allowance for credit loss"&gt;10,681,892&lt;/span&gt; (&lt;span id="xdx_905_ecustom--StockOptionExercisePercent_pid_dp_uPure_c20230101__20230630__srt--MajorCustomersAxis__custom--ThreeCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember_znQYjkEoufnf" title="Stock option exercise percent"&gt;53&lt;/span&gt;%) of sales during the six month period ended June 30, 2023 (2022 - $&lt;span id="xdx_90E_eus-gaap--AccountsReceivableNet_iI_c20220630__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember__srt--MajorCustomersAxis__custom--ThreeCustomersMember_zO3uhZoWjvM1" title="Accounts receivable, after allowance for credit loss"&gt;11,597,726&lt;/span&gt; or &lt;span id="xdx_907_ecustom--StockOptionExercisePercent_pid_dp_uPure_c20220101__20220630__srt--MajorCustomersAxis__custom--ThreeCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember_zhrgyhDUS06c" title="Stock option exercise percent"&gt;53&lt;/span&gt;%).&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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:SegmentReportingDisclosureTextBlock>
    <us-gaap:NumberOfOperatingSegments
      contextRef="From2023-01-01to2023-06-30"
      decimals="INF"
      unitRef="Segments">2</us-gaap:NumberOfOperatingSegments>
    <us-gaap:ReconciliationOfRevenueFromSegmentsToConsolidatedTextBlock contextRef="From2023-01-01to2023-06-30">&lt;p id="xdx_89A_eus-gaap--ReconciliationOfRevenueFromSegmentsToConsolidatedTextBlock_zB5lCpW4EKlj" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_8BD_zgdwHgW2mvH6" style="display: none"&gt;SCHEDULE
OF REPORTABLE SEGMENTS&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: Times New Roman, Times, Serif"&gt;&#160;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 85%; margin-right: auto"&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 colspan="2" id="xdx_49A_20230401__20230630__srt--ProductOrServiceAxis__custom--EWCPMember__us-gaap--StatementBusinessSegmentsAxis__custom--SegmentMember_zRldm77H4yCl" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;EWCP&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 colspan="2" id="xdx_49C_20230401__20230630__srt--ProductOrServiceAxis__custom--TPAMember__us-gaap--StatementBusinessSegmentsAxis__custom--SegmentMember_zWqFGIuZ9vr8" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;TPA&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 colspan="2" id="xdx_494_20230401__20230630__us-gaap--StatementBusinessSegmentsAxis__custom--SegmentMember_zmSxeg0g8uFb" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;Total&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_409_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_zCUz2ARy1Yfj" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 46%; text-align: justify"&gt;Revenue&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: 14%; text-align: right"&gt;220,602&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: 14%; text-align: right"&gt;10,100,689&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: 14%; text-align: right"&gt;10,331,291&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40C_eus-gaap--InterestExpense_z4TQMxUzcfSe" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: justify"&gt;Interest expense&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="-sec-ix-hidden: xdx2ixbrl1677"&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;115,498&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;115,498&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_407_eus-gaap--DepreciationNonproduction_zRhlBiljm7d2" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: justify"&gt;Depreciation and amortization&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;4,440&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;381,951&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;386,390&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_402_eus-gaap--IncomeTaxExpenseBenefit_zz0sFjM07wWi" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: justify"&gt;Income tax expense&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;11,657&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;342,715&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;354,372&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40C_eus-gaap--NetIncomeLoss_z0YI7fL9eQD8" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: justify"&gt;Segment profit (loss)&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;(41,262&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;851,127&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;809,865&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40D_ecustom--SegmentAssets_z95Bf0eWpikc" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: justify"&gt;Segment 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;3,257,019&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;49,544,894&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,801,913&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_406_eus-gaap--PaymentsToAcquirePropertyPlantAndEquipment_iN_di_zlAFdNdRQyY7" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: justify"&gt;Expenditures for segment 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;&lt;span style="-sec-ix-hidden: xdx2ixbrl1697"&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;(3,571,133&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;(3,571,133&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Three
months ended June 30, 2022:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&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; margin-left: auto; border-collapse: collapse; width: 85%; margin-right: auto"&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 colspan="2" id="xdx_49E_20220401__20220630__srt--ProductOrServiceAxis__custom--EWCPMember__us-gaap--StatementBusinessSegmentsAxis__custom--SegmentMember_zWGo4XsGoDti" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;EWCP&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 colspan="2" id="xdx_49D_20220401__20220630__srt--ProductOrServiceAxis__custom--TPAMember__us-gaap--StatementBusinessSegmentsAxis__custom--SegmentMember_zcuBR8xENAoh" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;TPA&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 colspan="2" id="xdx_496_20220401__20220630__us-gaap--StatementBusinessSegmentsAxis__custom--SegmentMember_ziH6G9p4Jghj" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;Total&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_409_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_zuBvAHhRt9q8" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 46%; text-align: justify"&gt;Revenue&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: 14%; text-align: right"&gt;189,569&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: 14%; text-align: right"&gt;10,975,574&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: 14%; text-align: right"&gt;11,165,143&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40C_eus-gaap--InterestExpense_z598TfuL9hT4" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: justify"&gt;Interest expense&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="-sec-ix-hidden: xdx2ixbrl1705"&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;52,139&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,139&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_407_eus-gaap--DepreciationNonproduction_zGCfYCmzE6Rf" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: justify"&gt;Depreciation and amortization&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;9,202&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;230,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;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;239,790&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_402_eus-gaap--IncomeTaxExpenseBenefit_z631UQSbBmPj" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: justify"&gt;Income tax expense&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;11,306&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;531,496&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;542,802&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40C_eus-gaap--NetIncomeLoss_zj1uvWPGFNE3" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: justify"&gt;Segment profit (loss)&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;(84,564&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;1,747,019&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,662,455&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40D_ecustom--SegmentAssets_zFvYsZFB9Ma" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: justify"&gt;Segment 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;2,386,338&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;45,168,719&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;47,555,057&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_406_eus-gaap--PaymentsToAcquirePropertyPlantAndEquipment_iN_di_zoWdJNx2zqqd" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: justify"&gt;Expenditures for segment 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;&lt;span style="-sec-ix-hidden: xdx2ixbrl1725"&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;(245,383&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;(245,383&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Six
months ended June 30, 2023:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&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; margin-left: auto; border-collapse: collapse; width: 85%; margin-right: auto"&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 colspan="2" id="xdx_49E_20230101__20230630__srt--ProductOrServiceAxis__custom--EWCPMember__us-gaap--StatementBusinessSegmentsAxis__custom--SegmentMember_zdHXUTfw7RUk" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;EWCP&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 colspan="2" id="xdx_499_20230101__20230630__srt--ProductOrServiceAxis__custom--TPAMember__us-gaap--StatementBusinessSegmentsAxis__custom--SegmentMember_zkqUiQD3TN8j" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;TPA&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 colspan="2" id="xdx_49F_20230101__20230630__us-gaap--StatementBusinessSegmentsAxis__custom--SegmentMember_z4mUmI6Ar6ve" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;Total&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_409_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_zpfak6L3f418" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 46%; text-align: justify"&gt;Revenue&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: 14%; text-align: right"&gt;301,262&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: 14%; text-align: right"&gt;19,877,546&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: 14%; text-align: right"&gt;20,178,808&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40C_eus-gaap--InterestExpense_zZY0TNv7qMS8" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: justify"&gt;Interest expense&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="-sec-ix-hidden: xdx2ixbrl1733"&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;250,368&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;250,368&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_407_eus-gaap--DepreciationNonproduction_z8kCrmaUnSRh" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: justify"&gt;Depreciation and amortization&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;8,719&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;742,855&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;751,574&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_402_eus-gaap--IncomeTaxExpenseBenefit_z43hc7eNf4L2" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: justify"&gt;Income tax expense&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;12,571&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;641,578&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;654,149&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40C_eus-gaap--NetIncomeLoss_zxnDC5RSvCu1" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: justify"&gt;Segment profit (loss)&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;(192,990&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;1,887,224&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,694,234&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40D_ecustom--SegmentAssets_zVulLeMhxOX9" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: justify"&gt;Segment 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;3,257,019&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;49,544,894&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,801,913&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_406_eus-gaap--PaymentsToAcquirePropertyPlantAndEquipment_iN_di_zdMgP6ooqV3" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: justify"&gt;Expenditures for segment 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;&lt;span style="-sec-ix-hidden: xdx2ixbrl1753"&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;(3,784,193&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;(3,784,193&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Six
months ended June 30, 2022:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&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; margin-left: auto; border-collapse: collapse; width: 85%; margin-right: auto"&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 colspan="2" id="xdx_490_20220101__20220630__srt--ProductOrServiceAxis__custom--EWCPMember__us-gaap--StatementBusinessSegmentsAxis__custom--SegmentMember_zJImNPBsDdBg" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;EWCP&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 colspan="2" id="xdx_491_20220101__20220630__srt--ProductOrServiceAxis__custom--TPAMember__us-gaap--StatementBusinessSegmentsAxis__custom--SegmentMember_z033hGIFvJ3k" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;TPA&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 colspan="2" id="xdx_495_20220101__20220630__us-gaap--StatementBusinessSegmentsAxis__custom--SegmentMember_zsRbv7Sl9VHc" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;Total&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_409_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_zgwFx06dhq08" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 46%; text-align: justify"&gt;Revenue&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: 14%; text-align: right"&gt;236,822&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: 14%; text-align: right"&gt;21,711,601&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: 14%; text-align: right"&gt;21,948,423&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40C_eus-gaap--InterestExpense_zpvUlGwNiRp7" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: justify"&gt;Interest expense&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="-sec-ix-hidden: xdx2ixbrl1761"&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;109,757&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;109,757&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_407_eus-gaap--DepreciationNonproduction_zdXc3qZp8h4d" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: justify"&gt;Depreciation and amortization&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;18,446&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;453,832&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;472,278&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_402_eus-gaap--IncomeTaxExpenseBenefit_zwMOTJMeqH1j" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: justify"&gt;Income tax expense&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;11,306&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,243,942&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,255,248&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40C_eus-gaap--NetIncomeLoss_z2VM4KN29D5c" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: justify"&gt;Segment profit (loss)&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;(208,737&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;3,404,251&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,195,514&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40D_ecustom--SegmentAssets_z6U7I5QK2YCa" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: justify"&gt;Segment 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;2,386,338&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;45,168,719&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;47,555,057&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_406_eus-gaap--PaymentsToAcquirePropertyPlantAndEquipment_iN_di_zScdJBUzD3M" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: justify"&gt;Expenditures for segment 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;&lt;span style="-sec-ix-hidden: xdx2ixbrl1781"&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;(422,067&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;(422,067&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

</us-gaap:ReconciliationOfRevenueFromSegmentsToConsolidatedTextBlock>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2023-04-012023-06-30_custom_EWCPMember_custom_SegmentMember"
      decimals="0"
      unitRef="USD">220602</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2023-04-012023-06-30_custom_TPAMember_custom_SegmentMember"
      decimals="0"
      unitRef="USD">10100689</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2023-04-012023-06-30_custom_SegmentMember"
      decimals="0"
      unitRef="USD">10331291</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:InterestExpense
      contextRef="From2023-04-012023-06-30_custom_TPAMember_custom_SegmentMember"
      decimals="0"
      unitRef="USD">115498</us-gaap:InterestExpense>
    <us-gaap:InterestExpense
      contextRef="From2023-04-012023-06-30_custom_SegmentMember"
      decimals="0"
      unitRef="USD">115498</us-gaap:InterestExpense>
    <us-gaap:DepreciationNonproduction
      contextRef="From2023-04-012023-06-30_custom_EWCPMember_custom_SegmentMember"
      decimals="0"
      unitRef="USD">4440</us-gaap:DepreciationNonproduction>
    <us-gaap:DepreciationNonproduction
      contextRef="From2023-04-012023-06-30_custom_TPAMember_custom_SegmentMember"
      decimals="0"
      unitRef="USD">381951</us-gaap:DepreciationNonproduction>
    <us-gaap:DepreciationNonproduction
      contextRef="From2023-04-012023-06-30_custom_SegmentMember"
      decimals="0"
      unitRef="USD">386390</us-gaap:DepreciationNonproduction>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="From2023-04-012023-06-30_custom_EWCPMember_custom_SegmentMember"
      decimals="0"
      unitRef="USD">11657</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="From2023-04-012023-06-30_custom_TPAMember_custom_SegmentMember"
      decimals="0"
      unitRef="USD">342715</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="From2023-04-012023-06-30_custom_SegmentMember"
      decimals="0"
      unitRef="USD">354372</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:NetIncomeLoss
      contextRef="From2023-04-012023-06-30_custom_EWCPMember_custom_SegmentMember"
      decimals="0"
      unitRef="USD">-41262</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="From2023-04-012023-06-30_custom_TPAMember_custom_SegmentMember"
      decimals="0"
      unitRef="USD">851127</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="From2023-04-012023-06-30_custom_SegmentMember"
      decimals="0"
      unitRef="USD">809865</us-gaap:NetIncomeLoss>
    <FSI:SegmentAssets
      contextRef="From2023-04-012023-06-30_custom_EWCPMember_custom_SegmentMember"
      decimals="0"
      unitRef="USD">3257019</FSI:SegmentAssets>
    <FSI:SegmentAssets
      contextRef="From2023-04-012023-06-30_custom_TPAMember_custom_SegmentMember"
      decimals="0"
      unitRef="USD">49544894</FSI:SegmentAssets>
    <FSI:SegmentAssets
      contextRef="From2023-04-012023-06-30_custom_SegmentMember"
      decimals="0"
      unitRef="USD">52801913</FSI:SegmentAssets>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="From2023-04-012023-06-30_custom_TPAMember_custom_SegmentMember"
      decimals="0"
      unitRef="USD">3571133</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="From2023-04-012023-06-30_custom_SegmentMember"
      decimals="0"
      unitRef="USD">3571133</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2022-04-012022-06-30_custom_EWCPMember_custom_SegmentMember"
      decimals="0"
      unitRef="USD">189569</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2022-04-012022-06-30_custom_TPAMember_custom_SegmentMember"
      decimals="0"
      unitRef="USD">10975574</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2022-04-012022-06-30_custom_SegmentMember"
      decimals="0"
      unitRef="USD">11165143</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:InterestExpense
      contextRef="From2022-04-012022-06-30_custom_TPAMember_custom_SegmentMember"
      decimals="0"
      unitRef="USD">52139</us-gaap:InterestExpense>
    <us-gaap:InterestExpense
      contextRef="From2022-04-012022-06-30_custom_SegmentMember"
      decimals="0"
      unitRef="USD">52139</us-gaap:InterestExpense>
    <us-gaap:DepreciationNonproduction
      contextRef="From2022-04-012022-06-30_custom_EWCPMember_custom_SegmentMember"
      decimals="0"
      unitRef="USD">9202</us-gaap:DepreciationNonproduction>
    <us-gaap:DepreciationNonproduction
      contextRef="From2022-04-012022-06-30_custom_TPAMember_custom_SegmentMember"
      decimals="0"
      unitRef="USD">230588</us-gaap:DepreciationNonproduction>
    <us-gaap:DepreciationNonproduction
      contextRef="From2022-04-012022-06-30_custom_SegmentMember"
      decimals="0"
      unitRef="USD">239790</us-gaap:DepreciationNonproduction>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="From2022-04-012022-06-30_custom_EWCPMember_custom_SegmentMember"
      decimals="0"
      unitRef="USD">11306</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="From2022-04-012022-06-30_custom_TPAMember_custom_SegmentMember"
      decimals="0"
      unitRef="USD">531496</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="From2022-04-012022-06-30_custom_SegmentMember"
      decimals="0"
      unitRef="USD">542802</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:NetIncomeLoss
      contextRef="From2022-04-012022-06-30_custom_EWCPMember_custom_SegmentMember"
      decimals="0"
      unitRef="USD">-84564</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="From2022-04-012022-06-30_custom_TPAMember_custom_SegmentMember"
      decimals="0"
      unitRef="USD">1747019</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="From2022-04-012022-06-30_custom_SegmentMember"
      decimals="0"
      unitRef="USD">1662455</us-gaap:NetIncomeLoss>
    <FSI:SegmentAssets
      contextRef="From2022-04-012022-06-30_custom_EWCPMember_custom_SegmentMember"
      decimals="0"
      unitRef="USD">2386338</FSI:SegmentAssets>
    <FSI:SegmentAssets
      contextRef="From2022-04-012022-06-30_custom_TPAMember_custom_SegmentMember"
      decimals="0"
      unitRef="USD">45168719</FSI:SegmentAssets>
    <FSI:SegmentAssets
      contextRef="From2022-04-012022-06-30_custom_SegmentMember"
      decimals="0"
      unitRef="USD">47555057</FSI:SegmentAssets>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="From2022-04-012022-06-30_custom_TPAMember_custom_SegmentMember"
      decimals="0"
      unitRef="USD">245383</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="From2022-04-012022-06-30_custom_SegmentMember"
      decimals="0"
      unitRef="USD">245383</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2023-01-012023-06-30_custom_EWCPMember_custom_SegmentMember"
      decimals="0"
      unitRef="USD">301262</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2023-01-012023-06-30_custom_TPAMember_custom_SegmentMember"
      decimals="0"
      unitRef="USD">19877546</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2023-01-012023-06-30_custom_SegmentMember"
      decimals="0"
      unitRef="USD">20178808</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:InterestExpense
      contextRef="From2023-01-012023-06-30_custom_TPAMember_custom_SegmentMember"
      decimals="0"
      unitRef="USD">250368</us-gaap:InterestExpense>
    <us-gaap:InterestExpense
      contextRef="From2023-01-012023-06-30_custom_SegmentMember"
      decimals="0"
      unitRef="USD">250368</us-gaap:InterestExpense>
    <us-gaap:DepreciationNonproduction
      contextRef="From2023-01-012023-06-30_custom_EWCPMember_custom_SegmentMember"
      decimals="0"
      unitRef="USD">8719</us-gaap:DepreciationNonproduction>
    <us-gaap:DepreciationNonproduction
      contextRef="From2023-01-012023-06-30_custom_TPAMember_custom_SegmentMember"
      decimals="0"
      unitRef="USD">742855</us-gaap:DepreciationNonproduction>
    <us-gaap:DepreciationNonproduction
      contextRef="From2023-01-012023-06-30_custom_SegmentMember"
      decimals="0"
      unitRef="USD">751574</us-gaap:DepreciationNonproduction>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="From2023-01-012023-06-30_custom_EWCPMember_custom_SegmentMember"
      decimals="0"
      unitRef="USD">12571</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="From2023-01-012023-06-30_custom_TPAMember_custom_SegmentMember"
      decimals="0"
      unitRef="USD">641578</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="From2023-01-012023-06-30_custom_SegmentMember"
      decimals="0"
      unitRef="USD">654149</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:NetIncomeLoss
      contextRef="From2023-01-012023-06-30_custom_EWCPMember_custom_SegmentMember"
      decimals="0"
      unitRef="USD">-192990</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="From2023-01-012023-06-30_custom_TPAMember_custom_SegmentMember"
      decimals="0"
      unitRef="USD">1887224</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="From2023-01-012023-06-30_custom_SegmentMember"
      decimals="0"
      unitRef="USD">1694234</us-gaap:NetIncomeLoss>
    <FSI:SegmentAssets
      contextRef="From2023-01-012023-06-30_custom_EWCPMember_custom_SegmentMember"
      decimals="0"
      unitRef="USD">3257019</FSI:SegmentAssets>
    <FSI:SegmentAssets
      contextRef="From2023-01-012023-06-30_custom_TPAMember_custom_SegmentMember"
      decimals="0"
      unitRef="USD">49544894</FSI:SegmentAssets>
    <FSI:SegmentAssets
      contextRef="From2023-01-012023-06-30_custom_SegmentMember"
      decimals="0"
      unitRef="USD">52801913</FSI:SegmentAssets>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="From2023-01-012023-06-30_custom_TPAMember_custom_SegmentMember"
      decimals="0"
      unitRef="USD">3784193</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="From2023-01-012023-06-30_custom_SegmentMember"
      decimals="0"
      unitRef="USD">3784193</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2022-01-012022-06-30_custom_EWCPMember_custom_SegmentMember"
      decimals="0"
      unitRef="USD">236822</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2022-01-012022-06-30_custom_TPAMember_custom_SegmentMember"
      decimals="0"
      unitRef="USD">21711601</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2022-01-012022-06-30_custom_SegmentMember"
      decimals="0"
      unitRef="USD">21948423</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:InterestExpense
      contextRef="From2022-01-012022-06-30_custom_TPAMember_custom_SegmentMember"
      decimals="0"
      unitRef="USD">109757</us-gaap:InterestExpense>
    <us-gaap:InterestExpense
      contextRef="From2022-01-012022-06-30_custom_SegmentMember"
      decimals="0"
      unitRef="USD">109757</us-gaap:InterestExpense>
    <us-gaap:DepreciationNonproduction
      contextRef="From2022-01-012022-06-30_custom_EWCPMember_custom_SegmentMember"
      decimals="0"
      unitRef="USD">18446</us-gaap:DepreciationNonproduction>
    <us-gaap:DepreciationNonproduction
      contextRef="From2022-01-012022-06-30_custom_TPAMember_custom_SegmentMember"
      decimals="0"
      unitRef="USD">453832</us-gaap:DepreciationNonproduction>
    <us-gaap:DepreciationNonproduction
      contextRef="From2022-01-012022-06-30_custom_SegmentMember"
      decimals="0"
      unitRef="USD">472278</us-gaap:DepreciationNonproduction>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="From2022-01-012022-06-30_custom_EWCPMember_custom_SegmentMember"
      decimals="0"
      unitRef="USD">11306</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="From2022-01-012022-06-30_custom_TPAMember_custom_SegmentMember"
      decimals="0"
      unitRef="USD">1243942</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="From2022-01-012022-06-30_custom_SegmentMember"
      decimals="0"
      unitRef="USD">1255248</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:NetIncomeLoss
      contextRef="From2022-01-012022-06-30_custom_EWCPMember_custom_SegmentMember"
      decimals="0"
      unitRef="USD">-208737</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="From2022-01-012022-06-30_custom_TPAMember_custom_SegmentMember"
      decimals="0"
      unitRef="USD">3404251</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="From2022-01-012022-06-30_custom_SegmentMember"
      decimals="0"
      unitRef="USD">3195514</us-gaap:NetIncomeLoss>
    <FSI:SegmentAssets
      contextRef="From2022-01-012022-06-30_custom_EWCPMember_custom_SegmentMember"
      decimals="0"
      unitRef="USD">2386338</FSI:SegmentAssets>
    <FSI:SegmentAssets
      contextRef="From2022-01-012022-06-30_custom_TPAMember_custom_SegmentMember"
      decimals="0"
      unitRef="USD">45168719</FSI:SegmentAssets>
    <FSI:SegmentAssets
      contextRef="From2022-01-012022-06-30_custom_SegmentMember"
      decimals="0"
      unitRef="USD">47555057</FSI:SegmentAssets>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="From2022-01-012022-06-30_custom_TPAMember_custom_SegmentMember"
      decimals="0"
      unitRef="USD">422067</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="From2022-01-012022-06-30_custom_SegmentMember"
      decimals="0"
      unitRef="USD">422067</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock contextRef="From2023-01-01to2023-06-30">&lt;p id="xdx_891_eus-gaap--ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock_zQBlM1SvLQA8" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.5in; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
sales generated in the United States and Canada are as follows:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.5in; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;/span&gt;&lt;span style="display: none"&gt;&lt;span id="xdx_8B3_zCxRdrHChQO"&gt;SCHEDULE OF REVENUE GENERATED IN UNITED STATES AND CANADA&lt;/span&gt;&lt;/span&gt;&#160;&lt;/span&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 75%; margin-right: auto"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_49E_20230101__20230630_zIn9CTbzLMd4" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;Six months ended &lt;br/&gt; June 30, 2023&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 colspan="2" id="xdx_492_20220101__20220630_zZDt3iopyZqk" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;Six months ended &lt;br/&gt; June 30, 2022&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40E_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_hsrt--StatementGeographicalAxis__country--CA_zVRdumunHcEc" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 54%"&gt;Canada&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: 18%; text-align: right"&gt;313,058&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: 20%; text-align: right"&gt;279,517&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_409_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_hsrt--StatementGeographicalAxis__custom--UnitedStatesandAbroadMember_zTq7tOWZlfyk" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 1.5pt"&gt;United States and abroad&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;19,865,750&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;21,668,906&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_40D_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_zEyMcFXoPmld" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="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 style="border-bottom: Black 2.5pt double; text-align: right"&gt;20,178,808&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;21,948,423&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:ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2023-01-012023-06-30_country_CA"
      decimals="0"
      unitRef="USD">313058</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2022-01-012022-06-30_country_CA"
      decimals="0"
      unitRef="USD">279517</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2023-01-012023-06-30_custom_UnitedStatesandAbroadMember"
      decimals="0"
      unitRef="USD">19865750</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2022-01-012022-06-30_custom_UnitedStatesandAbroadMember"
      decimals="0"
      unitRef="USD">21668906</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2023-01-01to2023-06-30"
      decimals="0"
      unitRef="USD">20178808</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2022-01-012022-06-30"
      decimals="0"
      unitRef="USD">21948423</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:ScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock contextRef="From2023-01-01to2023-06-30">&lt;p id="xdx_897_eus-gaap--ScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock_z8mphhs4cuRa" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company&#x2019;s long-lived assets (property, equipment, leaseholds, intangibles, goodwill and right of use
assets) are located in Canada and the United States as follows:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;span style="display: none"&gt;&lt;span id="xdx_8B0_zWHDJKbLcXB4"&gt;SCHEDULE OF LONG-LIVED ASSETS ARE LOCATED IN CANADA AND UNITED STATES&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&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; margin-left: auto; border-collapse: collapse; width: 75%; margin-right: auto"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_491_20230630_zhuiEjesy1M3" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;June 30, 2023&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 colspan="2" id="xdx_495_20221231_z9xjpH3bPkc9" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;December 31, 2022&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_409_eus-gaap--NoncurrentAssets_iI_hsrt--StatementGeographicalAxis__country--CA_zd7nh4WvtGhc" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 54%"&gt;Canada&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: 18%; text-align: right"&gt;151,300&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: 20%; text-align: right"&gt;150,890&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--NoncurrentAssets_iI_hsrt--StatementGeographicalAxis__country--US_zVyFuaBS5pol" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 1.5pt"&gt;United States&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;17,706,417&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;14,699,896&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--NoncurrentAssets_iI_zSBMke8xSs0k" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="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 style="border-bottom: Black 2.5pt double; text-align: right"&gt;17,857,717&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;14,850,786&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:ScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock>
    <us-gaap:NoncurrentAssets
      contextRef="AsOf2023-06-30_country_CA"
      decimals="0"
      unitRef="USD">151300</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets
      contextRef="AsOf2022-12-31_country_CA"
      decimals="0"
      unitRef="USD">150890</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets
      contextRef="AsOf2023-06-30_country_US"
      decimals="0"
      unitRef="USD">17706417</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets
      contextRef="AsOf2022-12-31_country_US"
      decimals="0"
      unitRef="USD">14699896</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets contextRef="AsOf2023-06-30" decimals="0" unitRef="USD">17857717</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets contextRef="AsOf2022-12-31" decimals="0" unitRef="USD">14850786</us-gaap:NoncurrentAssets>
    <us-gaap:AccountsReceivableNet
      contextRef="AsOf2023-06-30_us-gaap_AccountsReceivableMember_custom_ThreeCustomersMember"
      decimals="0"
      unitRef="USD">10681892</us-gaap:AccountsReceivableNet>
    <FSI:StockOptionExercisePercent
      contextRef="From2023-01-012023-06-30_custom_ThreeCustomersMember_us-gaap_AccountsReceivableMember"
      decimals="INF"
      unitRef="Pure">0.53</FSI:StockOptionExercisePercent>
    <us-gaap:AccountsReceivableNet
      contextRef="AsOf2022-06-30_us-gaap_AccountsReceivableMember_custom_ThreeCustomersMember"
      decimals="0"
      unitRef="USD">11597726</us-gaap:AccountsReceivableNet>
    <FSI:StockOptionExercisePercent
      contextRef="From2022-01-012022-06-30_custom_ThreeCustomersMember_us-gaap_AccountsReceivableMember"
      decimals="INF"
      unitRef="Pure">0.53</FSI:StockOptionExercisePercent>
    <FSI:ComparativeFiguresTextBlock contextRef="From2023-01-01to2023-06-30">&lt;p id="xdx_800_ecustom--ComparativeFiguresTextBlock_zANrL3drEPkj" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="font: small-caps 10pt Times New Roman, Times, Serif"&gt;&lt;b&gt;17.
&lt;span id="xdx_827_zHJtXtwKdB21"&gt;COMPARATIVE FIGURES&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;b&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;.&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Certain
of the comparative figures have been reclassified to conform with the current period&#x2019;s presentation.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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;

</FSI:ComparativeFiguresTextBlock>
    <us-gaap:SubsequentEventsTextBlock contextRef="From2023-01-01to2023-06-30">&lt;p id="xdx_800_eus-gaap--SubsequentEventsTextBlock_zrG2VE9C9Xo" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="font: small-caps 10pt Times New Roman, Times, Serif"&gt;&lt;b&gt;18.
&lt;span id="xdx_823_zjxgKo0ff70f"&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: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;None.&lt;/span&gt;&lt;/p&gt;

</us-gaap:SubsequentEventsTextBlock>
</xbrl>
</XML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EXCEL
<SEQUENCE>83
<FILENAME>Financial_Report.xlsx
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 Financial_Report.xlsx
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
M\Y@K9*UUP?P-)L%AG,R;/Z%"B$R.@?J"@@LI,S&!=: Q$N>Q7XU9WA=E&8\
MGZ2H8)RF7L0>%SS$.? 9B1/:I;[14,Z6R*J';= &@?K41%-.Y9@9CLL=PAPH
MC,0Y;%MY7T]67.)SDH":2S(R+KDA22)D2K*I]!_HBZ3_MY<D4>9[;#/YHT8[
MM'-@01*GP;X)6JNOK@,*&NQ3&TD82ZBW'KZ@3%F&^<1J#!1(XAP(*)L-!'99
MJ.NB+&P1;BB(3U\IXPGV0CM <U!0]FK?X?YC8#D:9[D^ QL-?=HFZ$WJ,Q:#
M@CJNNR$QF:;)1#=!!V*CQX@M-Y5V-4)'5YWZ3,5E!JDU[AE"@EPF3$R0!-W;
MS\4I[6IE&KOE-/?*M0\Y>+?XUNP0$BS%\5'#*86"&SV?^Z@D4F1DPK*!_NB1
M;=RN[UR#@>[D RSK^KD^PK]&NR,:X#IHG,?-1E ,RZEU&0B1Q@DQA'ZO^[CN
MUX>&T0?V<PQ"RTN!@!Q)$S)1W.E E#1.E(>]_Y&B0GT>E#AC$ ACN+X@P0Q3
M,EE7!LJD<<I\]YC8\$E1TM1KG -B!&>$3SEW8$X:W_GU-;#H"\V / C8W^ )
MC+D85^WC<H>(!PZD<0Y\]YC8]2DN=6LLQ^UH0%!PEO!DHLVC QG2.!ENH_?=
MD:@-;/E$ELHD&9-V2#)A7$[NH=A APQ'FZ@K:_+/;HNJF_;I3[#A3%^AGV$3
M&XX#%N76Q_95/VJT0],'EF5QEGV]L4!>Q;]Z>8H$/H']G?M%D!$5%,QVI6!2
M=%_8%5) P@VZ4^6F([@G^"7&!&F5KUXATBL"R%U:'='=JD+XGG F3@2CZ-FE
MSG5UK9O^K/6T>TV3$YK@YX>8@@OC$SRA$,OC4\2@&)TH?FSH EB\"[A0Z\)%
M?%$C_9#KMG6F]G8' ?N\3=(,0RLXKME!24$9XQ-IRO8.:N,4_Z==@<O!N;!T
M*_>-Y XJN&G#'O:)^D7*$Y9Y)[4!08E%.G54RP9.9W%.AQ9[4VW*[@N!5DU=
MU+=AJ(%#VR1+@3@\WP8D!:Q"EDSL!]A X.Q["+P-E!?=E1?4W9)7X/[:-J8$
M_5N('ZCQN@WNZ9C/W8P3CC,ZYLV0)(7=4,:F GU@>19G^?>F?A$"W)^0A,]Z
MF<_D-)&4^=!#@EA 7DP@'SB?Q3E_NQZ/+/>!<]TM['$;&Y*$')59.M')LH'Z
MV?>< N]Q:7>T^DA#I/?Y9.*\(B09/J^8[WW]<Y]>_U#-;5&WL$FX 57\,@5G
M--NOF=L;:];=!\%K8ZVINLN55F" $X#W-P8B:'?COC'VWY07_P%02P,$%
M  @ &8 .5[)3@(W* @  F0@  !@   !X;"]W;W)K<VAE971S+W-H965T,RYX
M;6RM5M%NVC 4_14KFZ9-ZDA("* .(K54U3II$BK:]C#MP2078M6Q,]N!;E^_
M:R=$T 9:I/% 8N>>XW-.G-Q,ME(]Z!S D,>""SWU<F/*2]_7:0X%U3U9@L K
M*ZD*:G"HUKXN%=#,@0KNAT$P] O*A)=,W-Q<)1-9&<X$S!7155%0]><:N-Q.
MO;ZWF[AGZ]S8"3^9E'0-"S#?RKG"D=^R9*P H9D41,%JZEWU+V=C6^\*OC/8
MZKUS8ITLI7RP@[MLZ@56$'!(C66@>-C ##BW1"CC=\/IM4M:X/[YCOW6>4<O
M2ZIA)OD/EIE\ZHT]DL&*5MS<R^UG:/S$EB^57+M_LJUK1[%'TDH;631@5% P
M41_I8Y/#'J _. ((&T#X6D#4 ")GM%;F;-U00Y.)DENB;#6RV1.7C4.C&R;L
M75P8A5<9XDPRDR+#>P(9N1,&%"L(SFC)648-3EY33D4*9&$7T.3]G"H0)@?#
M4LH_D(_D+?&)SG%63WR#>BRKGS9K7]=KAT?6_E*)'HF""Q(&8=0!GYV&WT"*
M\+Z#AX=P'U-HHPC;*$+'%QWA6QBTC!O4$+DBMTR@<48YF4O-W([[>;741N&^
M^]5EM>8>='/;9_%2ES2%J8</FP:U 2]Y]Z8_##YU&?]/9 <Q1&T,T2EVW!%%
M@6YQYZ4/%\V]);0RN53L+V1=WFO"V!':U\8FB8/Z-_$W^[Y>47B@>=!J'IRA
MN:2*;"BOH$MK333:DQ#T@J#_1.A+50<JXU9E?%+E'-]0H!0^5N>$&S_+K-^9
M[<MU!Z*'K>CA>:)/IEMSC0]S>QKN"T4',D>MS-'YNY9I776'.GH>5CB(XC@*
MGVCM+ R'X?!(K.-6[_A\O=AEM:$B8V+=)7K\6M&=A5VB_;W&89OV5ZK63&C"
M8870H&?;G*H;83TPLG2]9"D-=B9WFN.W RA;@-=74IK=P+:G]FLD^0=02P,$
M%     @ &8 .5R!@)M9U"@  O3(  !@   !X;"]W;W)K<VAE971S+W-H965T
M-"YX;6RMFVUSVS82Q[\*1^UTDIE+A.<'U_9,(JF]W+2-)VZN+V[N!2U!%J<4
MJ9*4[=ZG[Y*210E8PDE/>1'+]!]+[F*!_0&@+A_+ZO=ZY5R3/*WSHKX:K9IF
M<S$>U_.56Z?UVW+C"OC+LJS6:0._5O?C>E.Y=-$U6N=C1H@:K].L&%U?=M=N
MJNO+<MOD6>%NJJ3>KM=I]>=[EY>/5R,Z>K[P*;M?->V%\?7E)KUWMZ[YO+FI
MX+?QP<HB6[NBSLHBJ=SR:O2.7LR$;!MTBG]G[K$^^IRTKMR5Y>_M+Q\65R/2
M/I'+W;QI3:3PX\%-7)ZWEN Y_M@;'1WNV38\_OQL_8?.>7#F+JW=I,Q_RQ;-
MZFID1LG"+=-MWGPJ'__I]@YU#S@O\[K[/WG<:\DHF6_KIESO&\,3K+-B]S-]
MV@?BJ '8P1NP?0/F-Q ##?B^ ?_2.XA] _&E=Y#[!IWKXYWO7>"F:9->7U;E
M8U*U:K#6?NBBW[6&>&5%FRBW305_S:!=<STIBP5TNULD'XK&5=DZ@2MUF6>+
MM(&+MPW\@+QHZJ1<)A\WKDK;_JV3M%B <@W)N6JSYL%!^WFY=LFKST6Z7630
M^'7R)OE\.TU>??OZ<MS L[9W',_WS_5^]UQLX+EX\G-9-*LZF<'S+9#VTWA[
M%6D_AA@= L6> _6>10W^:UN\33CY1\((X\CS3+Z\.</<^?_N/OO;=S\)!C]D
M#>_L\0%[^[X^9$?RGW=W=5/!J/\OUM4[8P(WUDZ%%_4FG;NK$:13[:H'-[K^
M[ANJR/=8G,]I;'I.8[,S&3OI$7'H$1&S?GV;YJ[&8K]KIKIF;=5XN*:$<\HL
MO1P_',<5$5*J)!7\5#@-A8Q0;0PQI\(9(J16&,%ZBR>^RH.O,NKKI*R;=CJJ
MAWS>-9='-];,,L&]!YP@.DZXY-KS.-110:2PR@O-#!,R+2Q5N,?JX+&*>OQC
M5=9ULJG*9=9@#JO@ON"',=)[O@FB,PHR4'D.ASI%&3=">OZ&.JTTET3C[NJ#
MNSHZO>SK3'&?S)XV;75">UF?<U8YI['I.8W-SF3LI"/,H2-,-.]^ U9$8V_"
MCC=:,7]."65*6V:LEVZAC II.?6'%Z+CA(%%/-WLP4L;]?+= L J:^M7"ZWM
MM))6F=LQSITK' PZ- @V'$U6<.(-DDDH8TP3YH^Y4 8AY=2+U2R4"1B_E.(A
MH*3G0!(-PH>BWE9I,7<HJQ'$!R/\^6""Z"C7G'FZ*:(3S%KMSR^(CC.FC!SP
M]HAZZ0O> NPZ*"-N-\&@3M/0&0JSOE]%$)UDE/M)CLB8)%SY51.[+8'0#,RI
ME/4^LZC/-U ^7-VN\-(\63I\8.]MG*2AE9SY/H<R04'&?*=#'51$Z&K?:<2>
MDI8,D +M095&J>OZXW*9S5TWE-=9/8<%:5JX<HO[SD/?A17"]SV407'D(O =
MT6FN+?%]1W3M[#<PJ]$>"6F<"=N5'*R7H8ZBWHIP<K8L0 9$9I2@/B(A,@KI
MP -G$9UBR@[-7ST3TC@4_EJE#RY''0VI3 E%@Y0.94)K:GQ'$<9CX('P'0UU
M$%TV (*T)T$:1\%WBP=7-5G=TE&;U0"%Z[)=DZ.N(R 'L.Z7:40&,YCV*Q0B
MHY0($@SF4&<9(T.3=D^%-,HZ,&D_P)1=5DGE\J-M"*C;1;UT50*P DM1F-G0
M4&BDE%@;I'LH8T8;XH<BE%&HB"8H8*%.2:.'YO*>RV@<S'YR:>VBQ2MD):95
M6+!#F:2*"M]=1,:L" 9W*+/<'%7"4V][/J-Q0/L$8)M6\Q7J: A$5!H>]"M"
M84HJZCN*,)WF/.A6A,($&RK1K(<P%H>PR;:J7#'_$WIVODJ+>[1K&099UF>L
M"2+SR^X4,Z4D\:(RPV14\8$"Q7H*8W$*^[7=+R[7ZVV1S7<#&O47 R(1( DF
M@^G)W[U 9%"EJ)_*F(Q(.9#*K(<P%H>PSTV69TV&PQ<+*4@*HWU'$423RI^L
M$15E5OME"I-):L2 GSUWL3AWW:ZRS6: /%@(/)(2XKL9JHPE/G<@*JO]8,P0
M%02##$ 'ZPF+O418:Z#*>C!SHZWQM7N"[BV'U"2U#+9M$!FS04U"5(K8(U([
M#49/8.P% BL;6%B4A[T;%]F[80A%6:,55WX6A$( &&9\BIXB0@XJ'NS184)A
MN5)#V="C&8NC6;]ME77[XZCC"$,129D/U!-,:& RH$&GAT+6+D<,\QT/A<#Q
MUH@!)F4]F+$XF/V89D72G?K]L04R[4X RV4R^^4FN7'5%HW#W]C6PH<&PG5<
M0DC],)WIAK.7;W@:Q9[I6)SIGJ.8=9C;'JN@@4/ 3BKM;[Y/$!W56DI_E8KH
M. -[P;!![DL%']K99CW<L3C<';9B(H,&P2U*_5HV06105OP5[12124[#:1)!
M0?!XH)MYSWC\I8VV[NSLSBW+RNV=3IKT"3TXPU!/6.*#W 01,JXIUWYW8T)%
M.=<^ "%"H4$I!]" ]]3':71W_\/!9;PV\"@T?O5QX3FM3<]J;78N:Z<=T;,H
MC[-HWQ&QE20/"?$-9$&06A-,* 4S),A!1*BDH,+?2,"$E,$<)LQ $AX=8,?Y
M]!?W/.$D, Z39N42J-Y9N6BOYMM%6\6+LG@S+XNF*O-\5]5W,Q6>M0B(6J&9
M7]<1'37,2'\ 3C&AE9;YARPS1 CU2%$R,#7S'F]Y'&]_<G5]D1R%*FV:*KO;
M-NE=#GE3?F6$0NY\TR*-"A()$P*?4?\8 1,R):R_9)IA0@[<-71RQ'OHY7'H
MC00'"PP:E]T=CL_)#;%&^0MZ1 =184(&8<&$5C#N+_X0(8<<DW1HCN]1F,=1
M>#^UP)!*ZE4*=>[575IG<_1%H+TI<_04Y"W1Y.2?OV6)-O(/#*>X*@@#IAK:
MJ>4]%?.7MBO]&"RR?-N^&(5&06-1\)=#J"IT&U4%;F.J0;=[C.4OG!EW[^:Y
M19(^P'+HWB7%=GT',8 %0;O7 X#;1:..I@0"KTQP&1Y$H4IN!.7^ F# I@C/
M*'";,)4/G3OR'G9Y'':_/#C17$% ETEJK>_*!%4*;72P/L*5UMC@I8^!NU-!
M!K801,_&@D31\"/4X:J-Q-%[A;O9]0)]MRE*VE]+BF>U-CVKM=FYK)WV2X_L
M(KY1VU<YM!MH4$90]$%T./I@0A1]$&$4?43/QN*%?=JB<FF>_0^&ZGV[+G^5
MEW7]NEV>M\NV[+Y(YL][]=WY4SZ\?RU"BF5,A6<QB.X-#7<\$9FTPJ\4,T0&
M(CX4F!Z<11R<=[M\V!!%?<<V7EFX+IU@0@-1\K?OIHB0$0H0Z3,?(H1EB])B
M@/G$T:N6+^[Z!LXGWWUC&*7?#R(Q&ITO)6)4B!$Q)D2)&!/&B%CT1"SB1(Q&
MQV?C'W+WE+6?;TLH<]U1;K</5'3#"!(,X.DM&C*$;0E7TC_ F6!"I8@4_H$^
M)M22J^!T$Q%RQA65?MD;'[V.OW;5??<]B!K&S+9H=N]8'ZX>OFOQKON&@7?]
M/;V84.3ZE%[,=M^DZ,WOOMCQ<UK=9Q#,W"WA5N2MAF>N=M^5V/W2E)ONRP!W
M9=.4Z^[CRJ4+5[4"^/NR+)OG7]H;'+ZQ<OT74$L#!!0    ( !F #E<&L:WU
MX0@  $$G   8    >&PO=V]R:W-H965T<R]S:&5E=#4N>&ULK5IK<]NZ$?TK
M&+73L6>BB'CQX=J:<>RD=><F]<0W[6>:A"PT)*%+0G[TU]\%*9,2"<!VQOD0
MD]1B>78![#D <?J@ZI_-6@B-'LNB:LYF:ZTW)XM%DZU%F38?U494\,M*U66J
MX;:^6S2;6J1YVZ@L%B0(PD69RFJV/&V?7=?+4[75A:S$=8V:;5FF]=,G4:B'
MLQF>/3_X+N_6VCQ8+$\WZ9VX$?K'YKJ&NT7O)9>EJ!JI*E2+U=GL')]<L,@T
M:"W^(\5#LW>-3"BW2OTT-U?YV2PPB$0A,FU<I/#G7ER(HC"> ,<?.Z>S_IVF
MX?[UL_<O;? 0S&W:B M5_%?F>GTVBV<H%ZMT6^COZN&?8A<0-_XR533M_^BA
MLXW .-LV6I6[QH"@E%7W-WW<)6*O ?BQ-R"[!F3<@#D:T%T#V@;:(6O#NDQU
MNCRMU0.JC35X,Q=M;MK6$(VL3#?>Z!I^E=!.+R]4E4.GB!Q=55K4LD3PI%&%
MS%,-#V\T_(%>TPU2*W21-FOT!7J^04<_JG2;2[ Y1G/TX^82'?WU^'2A 9)Q
MO,AVK__4O9XX7A^BKZK2ZP9]!ACY8?L%A-+'0Y[C^42\#O^UK3XB&GQ )"#4
M@N?B]<V)!P[MTTM;?]3A[]\;4:=:5G?=>)5:BL:6I<X+LWLQ4_FDV:29.)O!
M7&U$?2]FR[_]!8?!WVTAOI.S@X!9'S#S>5]^@\HCJTR5 D&-07HM$*1 JMP\
M+6#$0"HJ5<TSZ/9:%86YEV;DB4;;$M.]+6S?9DK2_1(G/"$$GR[N]V.>VE$>
MA#@(>[N#<'@?#O?VWWG^/YB#W030"NH6X,YD(5 UQ G/,S,Q-K6ZES"*T>T3
M4EV_PU0ZL47%W[.[W\G907["/C^AM[MOM,I^MG4T1Y ,()>F#=L6=.>)[W=1
M&'(2CGIR:H:#A(7<WI%1#S3R KT4$'TFTXX[JAREI:JU_+\3;32!$7',(S9"
M.S5C$2%1;$<;]VAC+]K?!&04U8:"3-W=PLU+>.,)$,+#.!K!M5GQF-K1)CW:
MY*UH5[)*8:)4=S:HR70@4$Y'2*=&+'2E%0<#VP5>J/\ 88-@!,CJ7G3SVLI9
MP>3E<TK"*!B#M!D2S"AVE!V\1\OX54#3[(^M;&0[;"&WG[]=HVM1;ZVHO1[M
MA0#9"LK.T6'X4$XY=D1%AJB(MYQ>K-/J3C20_HX$3-DT,L^P0)9NI$X+!)JB
MM%?-G?-W*IOOY>TP%8,PP%X:7AY=55EM)LXQNA3=E4E+FF5J:]@&JI60]^EM
M(:RIH-.)'& 6!^,);S%D84@X<73EP//83_0._&9B55K5#IVS<WI( BQDR;BN
M6@SG4,\HU& '\H'2L9<17<BAES>IS)%X-"SF@,\MJ'B\7T%W\"V&&"=QXLK[
M0+C8S[C/X-'1,_CC@W&S29_,H.DX+LOJ+3!S(=-;63C%)YY2[CR.)Q++8H89
MAMX+'#$-W(S]Y.R(2:>/H@_("MS"O@'GT6023.TP\!YA+CX9>!K[B=J&'!:1
MHJXA[;6 N;"U(Y\2\9QR0OD$NL40XR!R)GT@;>QG[0N'9GUQK8*GU!PEP(X1
M'V.W&G+J($<RL#@)O#1RU;+WRTB)5PR\E3#>R]MAT(,B('Y%\,VQ:C*R@.((
M?155KG1JS<.4T$E@_HTZS(_@50KB,+A!&! OVR[/7R]S_)[>('-VC@ZF%DL2
M2A+'^!RXG?BY_3S/VU",FNF%IJEHO\-*V!K3E*7G+++UT"^L[;T]-/ ]\?/]
M=:TR(?)V'TA 9^DG5 J];A?V?8BY;'0M;[?MRM<:J/<E;^F\J3[ 01QQ1UDD
M@SH@?G4 "T4% [$QXGNSK;,UU/0^Z(UKQ4 L?$]#'.+QZM;_]E_HP$$X$+]P
M,#LSSP&9>*#T0\'73Q^&R%K14!@66ZLBMW>@12O0*&8X&4L@FR4C) @C1Q<-
M<H'XY4++7$=;L^<@J^/=^'L%&TQ5P)PQS.,@&4.W6,:8@-1Q0!_T HF]S/7E
M>5W\$E:O['@S<[V3M\.@!Z5!_$KC.PCKIW9\P;!KUJK6"*BK1,;./ +A!/72
MFH:I@IB3&,<\&8M3FR7&'&/7QA$=U ;U[QD<P"\4]%V+/A>W5LS4MGD0PN@9
MRR.;(4X8CYV0!ZU _5JA+]:K6D&>56JOQM2B"T 4D[U5R@ZJQ1"@[O/3(=*!
M^*F?^"^ET9]5;G2^S*T@+30=&KDYELK^-[V]M-*]37X_WW<;8/V>%\I4H^T)
MM_ \20(VIGF;'0U(Z-B H0.+4S^+7^X3M-FY?LM>/+6LR6D<A<F8Y.R&).:.
M^DD'=J9^=MY7(;)IMI#PKH2HL@3";LQVM!7ZE)\Q#2?RRF(6L8"X1OG O=3/
MO2/&6KV2!:B%0G$28C8=^S9+P@@F#K:E ]M2/]M^7JU$UM8^\9BU^W<(EHD"
M9;N]/$B[V<>SXI_R*(>J,1DNMF5\Z%HFTH%LZ4N+\U4!;8[45IN+XW:@N*!.
MU]G ?W&<3*JV;4%."!B[)N? D_05*W(CP=I]4:/*[M/"?'KZ@&[%G:PJQWXZ
MG7)?&&,>)&-=8S.,*-__JG'XT6_@2.;GR!8ZU T% M,^EMF4[6)&:#+9^;,8
M<HYI$CF^4K"!%1GV[SZ[\HO26K2?KVIIIJA:6;>?V2^LCMV:[+V\'>9BX%WF
MYUUG+JR13RDX8IA&DX\V%D/&XC@DCKG,!HIE?HK]O9-<W=K,BG%*F3C  6&3
M+\4V0\(I<U1*MO?IFWG'U\UVLRG:TQ*P\(>E<%:H9EN+Y[*#VFHDJ^[L#1"P
M?93]P@K9,\K>R=MA1@:Z9GZZOMI](=]MY-H%'IN2+HA0'HU%J/]=;]=W;*!O
M]M*>^VZKS1G"E'X)#V@8CT.P?]SFKJ$WD#1[:0>]^^SRA-+=WE-C^RI@Q1Y-
MCDX =HS'VLAB!TOG@(ZY8[%W&*D4]5U[1JM!+9#N'$__M#\'=MZ>?AH]_X1/
M+KK37(.;[G#9U[0&.FQ0(5;@,O@804+K[KQ6=Z/5ICWR=*NT5F5[N19I+FIC
M +^OE-+/-^8%_:FYY9]02P,$%     @ &8 .5Y"*_?0K#   T&X  !@   !X
M;"]W;W)K<VAE971S+W-H965T-BYX;6RUG5USFT@6AO\*I=V:G:D:1_07#5G;
M58GXRM0DDTHFLQ=;>X$M;+.1A =PG/GWVTB*,-V'!IRS-XEEO_V>ELZ![GYH
MT/EC67VN[_*\<;YN-[OZ8G'7-/<OE\OZ^B[?9O6+\C[?J;_<E-4V:]3+ZG99
MWU=YMMXWVFZ6U'6]Y38K=HO+\_WOWE>7Y^5#LREV^?O*J1^VVZSZZW6^*1\O
M%F3Q[1<?BMN[IOW%\O+\/KO-/^;-I_OWE7JU/+FLBVV^JXMRYU3YS<7B%7F9
M"MXVV"O^*/+'^LG/3OM6KLKR<_OBS?IBX;8]RC?Y==-:9.J_+_DJWVQ:)]6/
M/X^FBU/,MN'3G[^YQ_LWK][,55;GJW+SKV+=W%TL_(6SSF^RATWSH7Q,\^,;
M$JW?=;FI]_\ZCT>MNW"N'^JFW!X;JQYLB]WA_^SK\8-XTH#2@0;TV(!J#?A0
M!'9LP/0(<J !/S;@6@,VU$ <&PBM ?$&&GC'!IX>@0TTD,<&4H\PU, _-O#W
MV3VD8Y_+,&NRR_.J?'2J5JW<VA_V!;%OK5)8[-K:_=A4ZJ^%:M=<KLK=6E5B
MOG;>[)J\*K:.^DU=;HIUUJA??FS4?ZI4F]HI;]2K\OKS7;E9YU7]#R?Z\Z%H
M_G)^_+3+'M:%4O_DG#F?/H;.CW__Z7S9J,ZU(9;7QXZ\/G2$#G9DNU6UO _A
M_/MMOKW*J_\ -JL1F^R^:+*-4^R<Z.MU7N_[_3ZKG#^RS4-N,P[MQA_R1IT)
MU$<29=6NV-W6-J_([O7JM]4;YU735,750Y-=;7*G*=M.JL_9YAK;7<<-$KO!
MNW)W7>Z:JMRHO]P>"B*OK8ZIW?'W4N6BWVRI"O14I?14I73OPP=\7F>;;'>=
M.UGCA/GU"X>1GQWJ4@*5V<')VSNU9^XOEX0R(<Z77YY6$:#R I]YW.\+0U/H
M^SYEGMO71:;N3$HAF::+31T5Q*4>8WUA @@]E_I<TZ6 3DI7<.F=A+W/G)T^
M<S;E,__9J>]48=63/ON#H] _>\H][>.WAF['ZY?U?7:=7RS4@%SGU9=\<?G#
MWXCG_A,Z<#'-(DRS&-,LP31+D<QZE<5/E<6ME?5[E>WJ37:8NZS_JP:Y=H2!
MZLGJ _?2@<8,))\0R2?BQG'"J="/['B2*D'J4SH6K9=J<4JUL*;ZG9I]%VI4
MV>90>JUM9Z07R2<4YNE+,.:*0#O7(\6+)\9+ !WG7$IM) !DGAJ#V,! X)UR
MZ%ES>)R9U?N965'7#_D:2J9GCD-:J:X\HX/""XCV-D)K;V8<9$@^,=AKKHWK
M"5*T="Q:+X7RE$(Y-X7?QG4HE=+H Z7"U=[QRAIR[AB.:19AFL689@FF68ID
MUJLH_U11OK6B]NNTLY8:K!UU>K]7:\C]@ Z5D]5IQFG>-P\-3B713A](T2(D
MGWA2KQ.D:.E8M%ZR@U.R VNRPZ(^K%55@NMVK;KKKQ2+XTH1/)E8K6=D'\DG
M1/*)D'QB))\D,#)_1CT14*K-$L9UO1HA;D>2W*F+]+=9=5HH4I %N= J76J+
M[]51UIO22#?@/M,6E"&D=#D1G.B3-T!Y)ADCOC8/B0$A]:0?<'TUFT!*[A,6
M:.\GA80!E:[/^<"G_X3C$>NG'^W6[:%X9:[:QY-!H&6[E-)8MMO[,'?,1W6+
M4-UB5+<$U2W%<NM76L?B"!Z,(]-HW%'67[J . Y0PCP.$,) #A .$#E("2(Y
M2&AE<J2#<@2?RI')6,X>?/;QC0KF4-UB5+<$U2W%<NN76$?GB!W/V9F-O?',
MM[I"=0M1W2)4MQC5+4%U2XG)_IAP/>(.G:XZ_$?L_._)6/'+PTZ=IES+-$1
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
MR[BNRJ8IM_L?[_)LG5>M0/W]IBR;;R_:[_<Z?8G=Y?\ 4$L#!!0    ( !F
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
M15IJV](7I*BMU?52MVNC;^K--JUV>IW>&[TPIM)TUC9MZ+'%CL2W(GW' [J
M7F9UD]-6AD2_7?-GQY]M4] )VY(XM#*5:=*RW"GZW6P! #V+LSY5!3[= 0BK
MC_[^E^?S^>G+GZ^O/_"?9R^/-=DN6MV:IMA$8!>5V#0R#HE.M]NRH&U@**#F
MA=7 MK MP,0&=+C>TA9U;F?JFH$F&,M= BAV.J]U50.AK.QRPZL=,:)S=%KE
M.B]L5M:V(^J36?NS*QQ9/LWN9AIPRW%T_H90;XVV9)MIKRF"SQ3QQ1K]=<[@
M9 *0SB28&M/6VJ[KKJ23C88U!SEIES^Z2LPE\P+@IUW.!/[J$6K_"$>-P"LG
M%V#,V;.75E]754=[_&:V==."]K"T^NSTY#^8!GAD9])&&]@2_=ID9K,PC3X_
M8VLP3PB.DGX(L-Z9K&N*EE2:@7GS)5NGU8K/W126'0G]\RYMLK7?Y'RF;P6X
M>EM4O&(926C"G$SS/\@4!Q%/"4WB:$F$H_,:B&J5ML10D9G<@*,506LM.3HE
M[%RF1:-9Y:I6A*'7#D^G&=2,=K7D4_@D<KX-+Y9S2:6\'(LH:M(IECM_6E%B
M25YD*;R=%T&WHQKN2 PBYILO6_*0X*FC^+(CC)<DI(0@J#_31^FQNDGMFH6(
M_WA#8GN?EDP06 :O\!Y_RV1;DTLD>,J"5D,&[HTGXK8C%I S=;Q+B>I-L2*A
M(JUI"%R$$R#K!F0MVAT0(3, R4K!K<88O1$_D[8,->02^/F='789H#4]M#,=
M$!G_Q+3$P2W]ZR&SYAYV9V V;%NT'9.02+,X5A\-">UKDF%;.'+D_D.T'6EX
M;!IY]T5:?;:LZ$UAH3?8R3\LPM";4OKYH1XN281A16/%1OU5/SL]34Y/3_7S
MV?Q2GUV>DN>4+XZR8W5+'*A:HK01>W!36[8L=T0 .4X-CA,RIW_0SEF96D!(
MJPNWR^Z[8*)RO:K)+B8<@D'9MTV]:L O'-.D#V D"6Q:RC>V8W-K6?<@*7[[
MHH=0@1UL77+/8XH@2?L)A R L[DATTC6JRS^E2Y*HXF3G9D)7F3!<P-J,?79
MKC.A3HHJ<7]1D.IL/6'XP $<#@/'5X8/@>YNNC+5;,QZZA&*>;%<DJ*3=[#=
M@H2^2!O&R!/5@JA>LT4?H&JDFRV;?OJ%;(?8Q@5L".0=6#(I<2 ^;&L2(.6V
M [D<[1DZ(:;\-3Z1X"/KU/:_LAV(.)'0R@5Y6E+\AE'7I#?-RH"+1'IR#A80
M\?,)R4.54RBQ4K+?$>UMBGLL  A.Z>CC,7\F[2C9#/.GF@BZAHMA_"V[O9+Y
MZI <NP4RO]V2HK&N"0<T->P;/M(/;G,*6M;%=NO7>! ]'GI1E*4<(H$TFZ7&
M#+Q20_I==48?P17H$]*@^?.K9/[B5,_)09R=7NG+BWER/C_3E\]/DZL7S_11
M?JRN2Q)%#EF@=:_K;M&2U=0NM!RI$L%^7[ (L*Q'#^;^01?S6/VP)F\0Q4=D
M,(L-!S84Z".321= ?N>L&SEKT\"^S,+96CC#ZD#((F:C6*I#Z 1D*:L1D@3=
MH#.+;$W2P/XEZ6$!J0*$K'2ERZ58;3?I9R^Q?B]Q:T[6**)J:K)KL,L]VND&
MFR<#4]@[#=8(H$U?U9LB8[Z2.R/VL<A#>6!W$Y$@_$D28,68FI2\NBU65;$D
M]T>[>*XG+($$@_+?Z(P4KVA/R%RU:Z*!,U1K"O=(O^'X(*JDSP0RV7ASK#XT
M<)PMT0>N;RNAP5M#CF9=E[D\?DNFGM08E+\F:^9\P;(&\BRD\B7H2DRB^%$L
M6S!F9-7I^X(U0Y0/5-J8=EV[$U*)EQJ6"(K?'LAT(*_^3M_=_/+F]:>W;]3[
MG_2[-Q]_>?]:TU^OWWSX[<W-[?7'V_>_LCQVQ"A%ZI%#Q<DW_$U14%6*KUVD
M)5BDWL7:IXQ'EX*EJ=7OET1M\]5EK^KTX$]=42*4YI"MV$!=7,QZ-KG^8Y-2
MU-<<@/ZZ(P[7I"5$(<I[4EBV$R1!"D*@+SFDL>I#VO(1$TO.GKDU'TVVKNJR
M7NTFEYVZ94$*U #XB4=*PX$)Z8JZ<9*HAH(\=8X'^:Y>MF";FEAT+FOTT9*\
M/&E5T3 O2!7?UM7JY"W%@KD7RMM*C7.NGZ[O7I$ZYJPYK,0?*1K.]/D5Y=V]
MZ'\HH58<60=V'ZV.%47MY$$J?</JF^U$[ETF0?*:^>]'Z6%A)8-#XI.3FB#6
M_,@1Z(%'$8\,]P@^(W;"?N,;,J3T5:7BS8EXE2T'ILJO<T!XM]1P6L(>91J!
M9 Q^@I.)6(@:7$3ME;[*55F(]0:$HM_&)RBBT>2/# 45Y+5=P..$6DM]#B'N
MC)(E\5A@@W.H@E.:25@/S?9(!DOB@QI_HI(3R>#<DS9A12[>UN=<1*R(4'$"
M1"3F+6M.&&E?&Y-RQ);)7'39U!NL5H%IT0/[O$_&#+*(70XR*8DY0DM!#T);
M7+X_>NBS%(>U%,U2($"IN94HAAV@).NPU!1%(:^5<-VL49B\-_XQE^ .DN1A
M7<0ME(AM?X>9=EJD@E"LR+&+W0=,/FQB)M5#EB,#S U<9I5&I1$N:F0<"I1U
M%FO3. QR62%M+= H1P8*"B2\IF4C 7&^>9H<_>-<')&$CL*5L)D3<(/P<!D)
MW='Z6'D)_XV<)'ESB3CBB$J*02U31)92G+&1Y)<9C-_):@/"!X2[S!?3W(LP
MDY'.N\Q%SPO*HLVJ27,FT[8N=X@3$[![V37,<,A 9ZU0ZM>:XIFSJR% XN,M
MIQCWYL2V9DOI:6Y*-@$>R&:$#R_66,Q*^YT^.B.2$1_;W@X[XB"*0WWRB(@:
MJATAOE%'\T,/.F/$5J1>E,6*?\4VO<3ZG1-]='X\'<Q%T@9:9X;67AQS.!O.
M4Y,+0R(S"4C"/#BZ/(Z)@T,]S3@@/F([>OS(/K"[EOZRR\+D7!0;),X4P2XE
M&4!2/KV%"[Z9'G4IB"P1E#H$^FB2 V:<&(J27IPI6#<"I8B8 EC(46 -"IQ'
MMO,S%S-(/]A-N6.:/AOR%8Q&=UO"C*2(Q*39!3C2AGQ<P_:"-Q<+(T!!KRF=
M,R=U=;*H*<Z3XQ%=<28Y#+Q!&NZ/R.$N\F>9M9.9%?=07&+'TBYTY4" PUC2
M2F@,5VE2R7ARB=G)^A!1-@6ID8(J0C0XLYMDQDS?@5QJRJ7@AZT(CR,S20M%
MJ\3!N*(690(OI2!)YY#<5K5D9%9*<%;64Z)%!J @1RMNVR=>>6"E.V.F7QOA
MEW(R&BK%X&NP+>0&),^B'YIB05%IX_*4;;IC@D'-2(;()+:>9%/HBMR1B]0+
MN'(N@O&3>0?E4F6:L41)2N-RF!TJ&K%11\W2(/EO/ALNNXN\C*6!B5, _RC_
MB;4I-Z(3ZX$Y4Y'&HG9?BJ0V!9<:#AG!GOJ4XX@P"&GP+;L1H(CB$RIUA4]M
M(R]NS8"^Y#Z*8PJ/:Z+(K;6=6.Q0!088=R)Z@ZIE3^IZLR&P+&]0A U,O('U
M&Q \7&YB7]:+"Y=Y'9GY=VX:YJ++I.VY:VQDQE=E'@>CKD)Y,Y1QY)<X A F
M45#?&+M%FLS!I02'_B$/>(-J.A>>K.<&>63)(YR%1669!+(=/@CC$H);HO4?
MCM8G@B'0H -=_A!YQW"(E#K#&@^@[ZY82DR-VRQ(PD2'Z%"V\NSL>3* 0C%)
MYR^UB,0>@,PK81+A2D% )4$V%].$^EMQ#42JGL5];OX*RG=REU'V!^[PXA,P
MEVO7" !FPU,]RB/20SUMG-7YLJ3G20R-1AF=I4@8)01S<M)#677<*]E#A?DJ
M,?$VF'YLB7):VC@^.^D712,393NR*2S#YHMILL+N$XDDXO.Q>L\.X&80%-ZZ
M")=_4Y,!8V.\K_56-0GEPF0_$F8D.LAQ[(1]9W"ZA1C'O.I X)J0D6TG,H:*
MC:8$\-99'BEEC>HY4G4%,,[[^;P)J#&Y4"D@5)VV<^&DW0V,;# $C^4;?=L
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
M!>AX\100!W;U36GO,\((+%1QWV/P6VR\;><QY>2 \W#%?5C9>AFSEMM%HC2
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
M8ZW1L)ZC:M ^Z+?*,50_6)6[2_A,6;S2N^42!S?7)(#G<Z5L_4 &FJ^RT_\
M4$L#!!0    ( !F #E<\L,6VA (  (X%   9    >&PO=V]R:W-H965T<R]S
M:&5E=#$P+GAM;(V446_:,!#'W_D45C9-FQ21X"0%.H@4*%4[M6L%;?<P[<%)
M#A(UB9GME.[;[^R$C$T4[86<[;N?_^?C;K+CXEEF (J\ED4EIU:FU/;<<622
M0<EDGV^API,U%R53N!0;1VX%L-0$E85#7??,*5E>6>'$[-V+<,)K5>05W LB
MZ[)DXM<,"KZ;6@-KO[',-YG2&TXXV;(-K$ ];N\%KIR.DN8E5#+G%1&PGEK1
MX'SF:W_C\)3#3A[81&<2<_ZL%]?IU'*U("@@49K \/,"<R@*#4(9/UNFU5VI
M P_M/?W2Y(ZYQ$S"G!??\E1E4VMDD136K"[4DN^NH,TGT+R$%]+\DEWC2SV+
M)+54O&R#44&95\V7O;;O<! P<M\(H&T -;J;BXS*"Z98.!%\1X3V1IHV3*HF
M&L7EE2[*2@D\S3%.A=%\?O?X]6%%EHOYXOHIFMTL^A-'(5F?.TE+F344^@;E
MC-SR2F62+*H4TK_C'534R:)[63-Z$OBEKOK$<VU"7>J=X'E=FI[A>6_PEI!
M_L+B B3Y'L52"?P[_#B6:,/QCW-TBYS++4M@:F$/2! O8(4?W@W.W,\G5/J=
M2O\4_;^+<9)R7*/?[QVCD]7\:G'Q>+/HW5V2(PX]+ 1TA2 7^(QE#()X [-#
M>U&2\+I2$AMT_\+D/1G:0QK8U/70'MM#;VP/ K<7%3@"6)5@#7":D)37L5K7
M!79FR_A(QRYZ>N03FJ.Q3<=H]AZX8@=._USD>X'M!JZYR/?']B@8DF.E< YZ
MI 2Q,9- $@-MVJ7;[89-U/38'_=F4MTRL<DK20I88ZC;'P86$4WW-PO%MZ;C
M8JZP?XV9X< $H1WP?,VYVB_T!=T(#G\#4$L#!!0    ( !F #E<W3VBH@P(
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
MFIF;Q&A\@-M?:4V'A3^@GNW#WU!+ P04    "  9@ Y7)MC/F!,&  !>#0
M&0   'AL+W=O<FMS:&5E=',O<VAE970Q-BYX;6R=5^MOXC@0_YZ_8L16JU;*
M01[D0;>MQ*M;5M#V@/:T.MT'DQBP+HE9V^GC_OH;.X%"U79O3ZU"_)B9WXQG
M?IZ</7+QMUQ3JN ISPIYWE@KM3EMM62RICF13;ZA!:XLN<B)PJ%8M>1&4)(:
MH3QK>8X3MG+"BL;%F9F[%1=GO%09*^BM %GF.1'//9KQQ_.&V]A.3-EJK?1$
MZ^)L0U9T1M7=YE;@J+73DK*<%I+Q @1=GC>Z[FFOK?>;#?>,/LJ]=]">+#C_
M6P]&Z7G#T8!H1A.E-1#\>:!]FF5:$<+X4>ML[$QJP?WWK?9+XSOZLB"2]GGV
M!TO5^KP1-R"E2U)F:LH?KVCM3Z#U)3R3Y@F/U=X@;$!22L7S6A@1Y*RH?LE3
M'8<]@=AY1\"K!3R#NS)D4 Z((A=G@C^"T+M1FWXQKAII!,<*?2@S)7"5H9RZ
M&%W?#V?SR?!Z/FN>M11JU/.MI);N5=+>.](A3'BAUA*&14K30_D6(MG!\;9P
M>MZ'"K^511-\QP;/\?P/]/D[]WRCSW]'W_!'R=0S3*A:\Q1&Q0.5"E-*22!%
M"M\X*Q3<X[@45,*?W854 O/DK[<B41EJOVU(U\ZIW)"$GC>P."05#[1Q\?F3
M&SI?/G"CO7.C_9'VGY[2A])O8W.=IK6O%HZ!P G,U]3J\WQ#BF? S0^,ES)[
MAC7-4EP/'&B[S3""N.G[>A0XH1T&'?""CNTX#OA!M60>(V4]$HDUHJC U*4I
MJ#51,+R^A5LJ2DA9"@57D&OR46NJJXD5S%0K7Z*Y12E13$I@NGP3+E)2)!0K
M1*WALCOK09^G;,D28D3F?,,2B)W AMY6$%U9L,*L2\N&6?]J.+@;#ZV;2U0P
MFL)]=WPWG $.YU=#Z,YFP_D,NOW?[T;3X0"ZUP,8C[J]T7@T'^$V7+^;# ?6
M;2F2-5(!)*B6I514 (ZVX;"Z4E*=8PFFGZ#IJ=4G<@V1[?N.U2M9EK)B!;X=
M!8Z.FC76R>AN!XPL6(91P(PD$LE2RP_HD@JA(TB>(*MW/,.Q&[7M(/;@Q!IS
M5*D#C5%<*#CV[+C=L0,\DQ-KSA7) ($6"L-%%AF% D-.#,I3B&/?]MJQ-7Q*
M=,QTZ _Q W^@XI6S?A2BY8XUKLYG6UA ,Y;KB*-4N<%]6HIG+*VDCMNN'?@Q
M8OJ*%P886D8;<G?HN^0X M\/;"=PH6O5-X9>UVE2Y^?G3['G1E\.K"]YAM<,
M^K0]:7VT0SS.^7>8#.=7-P-X27JK1S*=4#8,:$+S!?KHNX9Z7/ \.VQ[UI0B
M-1A@M&*2XUB?VA8__M?S><4P>U"\"#6$UNC70_,N+*]BK;*@.X[$./V&I;M
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
MOV)$HXI(#NQZ7TD3)"#TVBHAJ$GO=#K=![-K8)5=F]JF-/_^QEX@I$W2:S[
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
M#>C]0M*7K+FQ&VS_.1C]!U!+ P04    "  9@ Y7=>:LQV "  !Y!0  &0
M 'AL+W=O<FMS:&5E=',O<VAE970R,"YX;6R-5%%OVC 0?N^O.&73GA Q 5K6
M022@G=9NU5#IMH=I#R8YB-7$3FVGM/]^9R=D5*)T+['/_K[/W_ER'F^5OC<9
MHH6G(I=F$F36EN=A:)(,"VZZJD1).VNE"VXIU)O0E!IYZDE%'D:,G88%%S*(
MQWYMH>.QJFPN)"XTF*HHN'Z>8:ZVDZ 7[!9NQ2:S;B&,QR7?X!+MCW*A*0I;
ME504*(U0$C2N)\&T=SX;.+P'_!2X-7MS<)FLE+IWP54Z"9@SA#DFUBEP&AYQ
MCGGNA,C&0Z,9M$<ZXOY\I_[9YTZYK+C!N<I_B=1FDV 40(IK7N7V5FV_8)//
MT.DE*C?^"]L:VR-P4AFKBH9,#@HAZY$_-?>P1QBQ5PA10XB\[_H@[_*"6QZ/
MM=J"=FA2<Q.?JF>3.2%=4996TZX@GHWGT\75W?0;+.^^S[^.0TN2;B-,&OJL
MID>OT$_A1DF;&;B4*:8O^2%9:?U$.S^SZ*C@=26[T&<=B%C4/Z+7;_/K>[W^
M*WJ7#Y6PS_![NC)6TR_PYU".M<3@L(1KBW-3\@0G ?WW!O4C!O&'=[U3]NF(
MP4%K<'!,_>T"'*4?-M<;=$]>Z$(7+BHMY.;$9@A&/$%1EPU=V8 N'=M+[\"H
MPQB#Z&-G2,-_\!J:@\Q547+Y#,*8B@"]3G06P:##SAA<R9.W#MY7X%*J2B8$
MXF!*3 3/(16/(B4FJ#6\!]9E0SA4@7"O'0K4&]_T!A+2LW5GM*OMNS*MV^D?
MO'Z4;KC>"&D@QS516?=L&("N&[T.K"I]<ZV4I5;UTXS>1M0.0/MKI>PN< >T
MKVW\%U!+ P04    "  9@ Y7H)C(@  %   X"P  &0   'AL+W=O<FMS:&5E
M=',O<VAE970R,2YX;6RE5E%SVC@0?O>OV*&=FW;& 6,;A[0),P3HE9L4<H'<
M/=S<@[ %UM267$DNR;^_71D(Z21,._<"DK7[[;>KW=5>;I7^:G+.+3R4A317
MK=S:ZD.G8]*<E\RT5<4EGJR5+IG%K=YT3*4YRYQ2673"($@Z)1.R-;ATWV[U
MX%+5MA"2WVHP=5DR_7C-"[6]:G5;^P]W8I-;^M 97%9LPQ?<WE>W&G>= THF
M2BZ-4!(T7U^UAMT/US').X&_!-^:HS60)RNEOM)FFEVU B+$"YY:0F#X]YV/
M>%$0$-+XML-L'4R2XO%ZC_[)^8Z^K)CA(U7\+3*;7[7Z+<CXFM6%O5/;SWSG
M3X_P4E48]PO;1C;JM2"MC57E3AD9E$(V_^QA%X<CA7[PBD*X4P@=[\:08SEF
ME@TNM=J")FE$HX5SU6DC.2'I4A96XZE /3N8S6=GH_EL>3>_N9G.?H?I;#FY
MFRR6B\N.17@2ZJ0[J.L&*GP%*H$O2MK<P$1F/'NNWT%:!V[AGMMU>!+PCUJV
M(0I\"(,P.H$7'7R-'%[TFJ]*ILA0JP)/-C"5EFMN+/PS7!FK,3_^?<GI!C-^
M&9-JYH.I6,JO6E@4ANOOO#7X[4TW"3Z>8!P?&,>GT'_M=DY"O4RTVVM[K]J
M=\#@O3>9W6*HOF.@L!:M 6'P<R%*87F&_VPE"F$?(56Z4II1J7GO?GO3#\/@
MX\W-R*VZ']^#S9G%Q)7U&@-=(P-@,H-,8.3%JK:XWZAB[0.>K=V1TI*1158
MVVB18IFA&E1:975*/"1\X3)3EODPI1M5PK1AF7,8J;)B\M%36TE<DQY$/4 W
MO&,W2O85;:;,Y$\DD+L!JT#@.?]6DUN(P;5QA8^4)% ;K MFJ/(QPAF6J\V1
M"JG,G6PNJJ?4NJUUFJ,N##>:<[+L98P"-T^M6G$-7<KN;K\-XV<D&'JZMX#H
M%KWZ*71@.Y^0:DY11&](F3]8.A465RGGF?'26FNG@$),6I&*RA$KE-R<(7[I
M3DRNM&VVDM1\9),6=8;UXSO7L<\WR>!NWF^D*$J [P:E Q8:?\ GQ'!4SOC*
M N6>2+F/'1EC;(3SV/=V28E29!@S!0.E]./SVT'[E!V/;?BD5>DYU]9K[EH[
M4&1!K8]Q,0Y;IC/?!0';IRCK\H?[UG33FC=946/KTK\0[BV>> ;=-&O!LR;]
MK**</38":R0+/TL6MGB);R'T^Q>Q'W9C6(P^3\;W-Q-O_@G&T\7R;GI]OYS.
M9POOFA5,4BC'/.4EY5/D$BKL.H D0) X\HYS"]XE_0L_CF(L;6R(9\<=4>P]
M-3DE(++#VU8EA^2BZR=A[W5[H;/6\X,H_L%:U#_WDXOD5ZR%2>Q?],^?K.%#
MP \/@?,L[H=^%/9@7&N$<GE@Q .4S0/$Z0%ZKM5DP*XS8&E@:K,"&P!:);PP
MB/SSI(NK\R3P$UQ%U#4H4/CO)U'L!_T(.^(*'8FZY_O6\[^ZH>M/.$D5@%&@
M='!?CWE2B&3F>I)*T[IZA(II2Z2WN2@X4 53**D*FS)/N7G>!1LKS.L'&(=G
MJ82-'UYJ_' WN1DN)V-8SF$X^O-^NIA2MIVZ_+=PY@V/$AE'0C\(@A,WV C
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
MC3F [P\U^L_-P@C8_5EQ]7]02P,$%     @ &8 .5](( (5( @  *04  !D
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
M*+P#!,U.Q/A"'3D@LC"7IG\#!;(BK9&2,%I;*+N?B<*%:N 45L;D0#:T4S!
M;BNSJI#=<9DJ?40Y4!5P'S^IV^VVT+CF74F"YL#K@*% ;JZ;%*%;$0$[JRI$
M(4/$$5 )QATL=J'_G2X*)4$06C7A?>D:CA-/E;@$K20?Z*DN$_L7F'*T>S 2
M=OA(5@X70X%9*5I$H'/0%BD*8X0;;C'7RZ6JX GL9@$Z0Z<5[<@1M4:BPL"L
M:'/%ZD1] 8\C!]FK^$U;50K5BEQ4H"M07> NB92X(/[8&F!T8<$AN2SM"3LF
M)O_57Q'PJ\ ]"&\16GP2"8Q<@(W(Y;*BK4M0.]5*X2D"Z=>FK1$CFI\ /Y0Y
M\-E*,+QC@*WT PY %*S.@I\G]!N42Z$;QV8&"+H&MXKWC\=<J8+.U6[2,MU/
M/US/9U?/4+K+=@EVJJW\ I7)@)WP)[RPP"?B?JVW6S?&H>CV(1>Z*'@1]C9(
MJP-360H1Y2M0CV6KY#':77D*DCZ_ODSF3Z=R?C9+9M-+>7$^3\[F,WEQ/4TN
MGUZ-"?R5%_BK48&_*8"301LK4BXO3;MHEFTAK<T>%OE1B =$/C\17UNJ(_1
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
MPIG<@\#@2XBU'&/0>ZJMYJQ]0#]A",ZZW.5EQ]$PI:\/^40NOXF=*F8K".*
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
MKKP56BUE;5KLBK?%.Y>"!JZQ+Z@&B@W-=URJCXX*$8P(OB,3F=D- 84T74\
MS!><Y")Z^\Y\/B]?S/,7!9P694R]>G*.GK#6SN?6DUZJ/;B$WE-UREH?J)5^
M31IQ\[*[>=';:QJER+H[[!"(NX(<23AQ3.6'M#8E/-H!&.!F>H<^1T0^' I[
MQ_F=[>.I\+XZ^G](Z+ WSJP4N13N0I<#%"Y/H+^/\9A%Q#8=+$,$Y_S <,>"
M* V*/'1F3>0;F":ZXAA<2FP^ GJ1^(6D"G5,^=ZNMK17R917!7+5IIC;4XJZ
MS:QJS*@-=AV_#6<?,!)O2)*6BOH0:F-;HXD0 [K#565*VV?F&+1;V;8GFE(#
MM)78'IQ.:D:P)?P&EANS?Z'Y=O:5[EL.Q#^D7PZ8O^_IM=WZ'#C!M94:T= /
M#AU"TGL#"E)O.3DS)'PPBQ@JRHEV[[KYD9P_12\#\PK62WC933F(D'+8SY%U
M<SDNEK0V$"=2OQ=$>I302!ON$' )>G<3"M^YD/*P+1?^*/=](F 3\@SB)OX^
MKJP$N\X5HH@1GK6<H5&#N1>7.85= 2OB)36^/S(1+P\F908I9",V5UA59<HV
MP9&\8R:PEY%;C.PI=ALON8G<R:G-_P%5(!C SI28HOT:*.<7,%^# 2VV(V#4
M8(7/UB:HS>F;-\?6BOML$3^_H4[Y%['M;B)N$_#WW,CD(&E"RD#>#"7&K K'
M"T<Y%RKSEC(I2O3X@A+[A[<#Q\GV-%*BY,,5^I.B( Z4.:HB0K2FV@(F:+'A
MB7WYQ+NAAV6&_$9K8EQ9</*?=,Y?G4\3JQ D*X2Q:^.A47X^WBC_'AO@_O ^
MYV 181S$ 5WV^43T80^WS'  1XUX=*2N<[2O)M#7&H@AF7&=!@C1E&L*SC)>
MD"\C1IG[3K<YRPFJ2N3F7O*U?WDMB9RB RHU\N)]ZJC?R45=\MS*V+L,ILH'
M79G2$RTVBC#?V!R0O=OE2L>VDFPW3J$'[J;$9@W;XP;8^KN,$WG+I">(H)FP
M.]*ES[BLBGP*9".^I)C''A;=)MN1NPV."N7]T&2X1F%G /8L$N7.^(0C1& K
M38K-H/^0LVER>3U+KI_.Y<69G,V2BZ=7R=7\$G]=)+.K>3*=7\B+*?RXOGZ:
MS"_IS5DRO[I*GIY?R/-S.4_.IT^3Z?53>78ISVG.Y<65O+CLOKE,9O/SY'Q^
M+B\OB"]C/L1>?]OC5@ YZ)Q5EK;6&W*G0>]J8DQ'PW L;#N BMLBI489'$90
MB9Q\+?K K?I.PZR[JVYG6[8E]V=XNNL];:C_%7'#  ?<L]QZ@S"8#)$5FOT+
M[:BG I_F@C;KN8L#R\$;H%W^W.MZL&4&4+'<FVK[;P<JQ)W^-QJY+%HL@[D<
M #O(Q:Y3!POT&#95F%]<_&VK[TO]A82F7)U2=L;Z/:"2*=?-9464XKT#WML7
M[J(;F)(]0>\8,-R84N-M2^NG=39BA=5!](T<O8LK+G2SY3R;7/=I)F2,0PFV
M,M]+LKF'_3S;,".L5;[",G^?RQVJ\7[&N.';#KZ?CZR<&QF*E*1?PE''K@A9
M68<05MO ,[&I!"03D33*#G=QJL=T[0#VV.:.V1G/09C?^R8&V@?V+<S39YR]
M/2 7<NT7R" JQ312 UABP@KS,RX2Q934 I6,S5ZE#Z:MB%6^GC.<AXLJ\_&+
M*J^HN4K^01=EZ5L$7",<=CJ^Y[9*=2(.+M)A32\25/N(JI6AZY%;P>RUWJCV
M2;J<_;TP,=Q]C\^1')!PC]VEVD2<@]<EG"NJ6<Y9H,39.P]):(SDA93JU+3#
MU.[EAURI#3,MITGUX%TU81YA MXK"!QDM=&#H4W:!J!E!P-.8X1 ;3[]D5CN
M8OHC*)L":-6NUK:X@I>3356'JDZEK']FZ\"EB$%[/X%O2E [#M:%C+O6%CGH
MV'1DLR;DH:R5K3]]Y=SJ^+;^*%>']O3Y>'OZ;W&I_YNNMH\#/,#:]8D87TFZ
MU\*3V=>:,=WC;B"Y[P-QY9DR*T B:JO![HV&2OB.\7Q798T\&R[%./OJYNT%
MO-@V@:DAC[/+YVPP=OHW9A=]BLXVDI HAJO&?(>>2X2LE2I*(5 "&Y0Y5P;B
M&5&1 &]M=J]*"-MXSHV@?#_?=VE$0!B=8)CQTIG\W(*/RXV!U.O"-P+C9B+D
MKK9$MP_K=S::#F'K0JW0@T/73Z0(#NB44NZAF_9E\T<\S_8PZ[?Q='4'E0-=
M3=AG'*.B,"98TR7B;O=OU9L8QB&QL7#TZ9LHXWPX+-XO(Z9]PNC>Y1JP2OU(
M/;%Y 'SBSH8L(Z[D[_^!32UVV#>.+*60MU/L(_G=/.*WJA*G[Z)^)_P9[[=!
M98<:I87EX"B3^&*3#(R"DU @PBQ_V\Q54"BZ#+[=. G(\^<XX-"^A=MWUQEI
M:Z[6<&+!-@X%]F)EEW1T(C=_D!X(*.TY4TF'<=P>Q,$]^(S]5[;*04<]O%LO
M=RXUOL<I48\$\AC+)RH-^FK35WEA$,?AE<)7U491%9&*B!MU7'9+(7]Y[=BI
ML'B8MAFH[&GD+D[A:KA'/G%1J+#P*6".5@G=9GP!-.CIO</KMZ)%"1?7\H9W
MC!0ZES;NP)^R5A#6-O;*G"ZIG0E0LEUFU !@X_G3@2_6Q(.'D#@ U75M.)OA
MKP.@*.Y;#%-&NIVNEB0'C(>M,:&6-<OX:*EJR4*#>'80&FB1H_&L/4-BESM<
MNEK>5'UM0GX(V!*6\VBLB"Q"*&0ZHQ 4Y";-*G/J<T;Q-X/\AX3<]7M0(:>8
M[4;#$=PR+H#2)];4"KN@\:)BE'NJ$]'[6%#659$<7<2EXI[E^3\R)M9-[!)_
M1'BMU SH;_NMC#*^AD;W8![!7TABS=+8ZT?:-QV#-_,OG&H_,3%\G/T//J%U
ML%'!OC;:VY)-<_:TD-=G/NTXT&8R3IZ.'NJJI_[$)!8IU*RV'ILG4?ML[[)I
MVO7#Z -J/@WHOW0'T?I_E/(^NZ"4MT.O]CUG'4>8CB_!)DP0U%,25'% 4+T>
M^>I5-%UU;L*%AMJN669GL>XKHJ!>D#C+"+.(VO;C=L1L%)WS (=OW%-HG5'<
M_GSZ;/]S/#+^' ^- B+5<?=SU'2/GW,=;[N=A\N7\_'+E^_!Y (:\==B07<8
M_%H;%UL'PY]QF,<-?G+B*W#W/C:I\4N2&]M(A9P1/@:"%ZT[MPYB2*%9Q7^.
M!H$;"I Z W.=<SZ,[Z#L?!)2=+-R7V]!LO5WX_1.**4G/M/G+W@;5=NZ4:'5
M@_(:TMXOHE8:_"F^89O1?7SN@.)<*WV]D;<56BS"IE CA7U0.Q]%[]7PE8+)
M$&<]B;[###["BKXV77,%@3_)[)_Z+UK?\'><PW#^'/8?H%PPEBK4$J9.)U<7
M1[+B+TSSC\9LZ:O."]. 0T)_XN<C584#X/W2F,;]P 7\=[Z?_R]02P,$%
M  @ &8 .5XW[KCLQ P  )@<  !D   !X;"]W;W)K<VAE971S+W-H965T,C8N
M>&ULA57;;MLX$'W75PRTV,46V$;R)4F1M0W8LM.H2&PC=MJ'H@^T-+*(4J1"
M4G'S]SN4;&\"R.Z+>#MSY@Q',QSLE/YI<D0+OPHAS=#/K2UO@L D.1;,7*@2
M)9UD2A?,TE)O U-J9&EM5(B@&X970<&X]$>#>F^I1P-56<$E+C68JBB8?IV@
M4+NAW_$/&X]\FUNW$8P&)=OB"NU3N=2T"HXL*2]0&JXD:,R&_KAS,^D[? WX
MRG%GWLS!1;)1ZJ=;Q.G0#YT@%)A8Q\!H>,$(A7!$).-YS^D?73K#M_,#^VT=
M.\6R808C);[QU.9#_Y,/*6:L$O91[>YP'\^EXTN4,/47=@VV3QZ3REA5[(UI
M77#9C.S7_A[>&'P*3QAT]P;=6G?CJ%8Y99:-!EKM0#LTL;E)'6IM3>*X=$E9
M64VGG.SL:!5_GL>W<32>KV$<18NG^3J>?X;EXCZ.XMD*_EZSC4#S81!8\N9L
M@F3//&F8NR>8K^!!29L;F,D4T_?V :D\2NT>I$ZZ9PF_5/(">N$_T V[O3-\
MO6/HO9JO=X)OG"2JDI;++2R5X E' ]_'&V,U_2H_V@)N^/KM?*Y\;DS)$ASZ
M5!\&]0OZH[_^Z%R%_YY1VS^J[9]C'ZVBN]GTZ7X&BUMXF*WO%E,WF\Z6C[,H
M'J_CQ;Q-\7G.=8Y>I@05IKL$9@Q: TPC55NB-&4-F(5$&0M,IO2O4U@)9Y;V
M*^,L;(Y0H,U5:FH$D[)B C1!#)A<[21L7-G?P$&]=U*]%ZFBK"QJ+V<ZW3D5
MO?!/;XH)J7;.-DPPF:#WP&25488J3;L>/E>\I"9AZ:]H0R^RC-/P.]A$L9-'
M%1>I<^4BY$6IU0LZ)@.=5OQ:,RY0GU _KJBBU880!B@5S#6-CRXO'M%JN(17
M9-IX2[I"YZ(%TKG>8]:8Y%()M7UMA85[V#U2T\J52+UWXEM,A$,"I:#PHKKS
M4#(T"N;:I\EYV2[G('FE,NO2YK6 >@VFK0R"-[V+'&[K#FV@+LVFC1UWCX_
MN.E]_\.;%^2!Z2V7AN+(R#2\N+[T03==N5E85=:=<*,L15=/<WK(4#L G6=*
MV</".3@^C:/_ %!+ P04    "  9@ Y7G-F'$.<#  "."0  &0   'AL+W=O
M<FMS:&5E=',O<VAE970R-RYX;6R55EMOZC@0?L^O&&6/5JT4R 5":1>0H- M
M1_2B!G;51P,#1">).;8YM/OK=^Q<:+<4=5]@$L]\_F8^SSB=/1<_Y 91P4N:
M9+)K;Y3:7KFN7&PP9;+.MYC1RHJ+E"EZ%&M7;@6RI0E*$S?PO):;LCBS>QWS
M[E'T.GRGDCC#1P%REZ9,O XPX?NN[=OEBZ=XO5'ZA=OK;-D:(U2S[:.@)[="
M6<8I9C+F&0A<=>V^?S4(M;]Q^"O&O7QC@\YDSOD/_3!>=FU/$\($%THC,/K[
MA=>8)!J(:/PL,.UJ2QWXUB[1;TSNE,N<2;SFR=_Q4FVZ=MN&):[8+E%/?'^+
M13Z&X((GTOS"/O<-/1L6.ZEX6@03@S3.\G_V4M3A34#[LX"@" @,[WPCPW+(
M%.MU!-^#T-Z$I@V3JHDF<G&F18F4H-68XE1O,NI'HZ@.9U,V3U">=UQ%J'K-
M710(@QPA^ 2A!7<\4QL)HVR)R_?Q+K&I* 4EI4%P$O#[+JM#PW,@\(+&";Q&
ME6+#X#4^2Q%)-5D_EED>V#P>J/OA2F[9 KLV'7B)XA?:O=]_\UO>'R=H-2M:
MS5/HO6AV=]=_>H:'&W@:_WD[K3W<U&;1"/I1-)I"_WX(1AN8C/N#\60\?3Z6
MP,DMCB<PW:"EM-@PURU9M&/\#TI0&P2ACW&-KVH[B<"DI+G LB4DNHB0Q&P>
M)[%Z!1H'QEW&+Y#F^J/6'T@]K-0SH=KM%9DH'(:XP'2.PFKXQBFX@J(4UI=+
M8;W?I82$$M(RPP7X"F;$NJ^SD-: )2Q;H /?6;:C 00^? ._=>$$04!6X)/5
MNCB$5@60#I5J'6=9G*UI!!B4HZ%#I#(O8F;FS5D0.JWV!9S#6>@Y7C.$\P,%
M*H7>8HLBYDN-U?2=L!$>4(_3H+#_</@09TX[3$JAOIKUY+V^7\TX#XLSA72^
M%. +71;THN$TP@:TG;#5LA[9*PUQ):D@EU0&SQ2D[;1\__\5Y /#+Q0CVG"A
M:D0NA2U96I9O0)NW/2\WO+9G37BV?N_3#IP+PO&]2\=O!M:4*Y8<PX<38R"L
MQD!X>@Q<WXZ&L\E(SX'9_7 <73_,[J>C(3R-[J?PV'^^H__H6.^?Q#W>^S,J
MF5SP'>FUM 2I MM2G;*A,WQ19 C,FU8"$_K\T7I"TT)2LQ:$K9.$+=.8N>+:
M;D)XZ82!L4-H^8Y']J&PM$9*C%,B; Y]25,+?-8NNN?#"2BG0+[90:!CLKAO
M[L@4Q=I\"4@PN^379?6V^MCHYW?LP3W_4KEC@GI#TDQ<4:A7OR E1'[[YP^*
M;\V-.^>*[F]C;NB#"85VH/45YZI\T!M4GV"]?P%02P,$%     @ &8 .5R@?
M69:) @  BP4  !D   !X;"]W;W)K<VAE971S+W-H965T,C@N>&UL?51-;YM
M$+W[5ZQH5342,IB/V$YM).PX2JJDB>PD/50]+# V*,#2W25._WUG%TS=BO@"
M,[LS;]X,O)GM&7\1*8 D;T5>BKF12EE=6):(4RBH&+(*2KS9,EY0B2[?6:+B
M0!.=5.268]OG5D&ST@AF^NR!!S-6RSPKX8$341<%Y;\7D+/]W!@9AX-UMDNE
M.K""645WL 'Y5#UP]*P.)<D**$7&2L)A.S?"T<7"4_$ZX#F#O3BRB>HD8NQ%
M.3?)W+ 5(<@AE@J!XNL5EI#G"@AI_&HQC:ZD2CRV#^A7NG?L):("EBS_GB4R
MG1L3@R2PI74NUVQ_#6T_OL*+62[TD^R;6-<Q2%P+R8HV&1D46=F\Z5L[AZ.$
MB?U.@M,F.)IW4TBSO*22!C/.]H2K:$13AFY59R.YK%0?92,YWF:8)X-PN;Q_
M^O:X(>O5<G7S'"YN5T/R^9%&.8BSF26QA JTXA9NT< Y[\"=DSM6RE2059E
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
M0 6Y>(=WU/&.WD,?/EQ>32=/UU-T]QF=$G%T.SF2\!3[=_%/LT>'K,&_RAJ
M6+H3"XVRK"F;0CF]0*]V@DM3.S31D"C+5?NVWFH7C)N\6.35JFY%R<N--<_:
MRU*CCX@R3$2,!95@<!Q+L"F'>8*CE&-!HF#4P-MCYCF<7$13@5D<0UB$4Q8A
M23'G%!*7F\9IB];*+K;*:A1QB"<H8CAA @D1!7?+99YII+M#07F$&>>(4MDZ
M48$C(H,;535+."J-!<Y'[BDF,L+PD40Q9@G%-*5 6*:0@<;!HU5 T'HO09'$
M*3S!AY!@;)1#D"HB!+%T#\#3*+C6\!E:F^)O/4D2G$AV&#Y]2!AE%\&CSM:5
M*<SJ!5'",4U8-QY<KGU[HXC@..T6#W;P$3$&WBF6)('NII@+J)K0G03@BU.H
M?:(S7<ZA#$Y;2=DKL?^Q^U\$3["4H#=+6[TY): C@7F,(Q$!N_2TWD1B B,4
M /?4&WISYO46@B,ITE-Z<Q".@-X,2^@;(W!$DC?U3K  U0B@13A)*99<>+TA
M V?RH#?(A9-8@N"^Z10S$;\67/J^(N$/\_\0G.!$D&Y\)3A/@"23G>![&P2G
M"1RS% L9MVT7*<$\D:WXT&9H18).?<!Z1[=0J>VJO6MKE)FF<KL+J5OMKO/1
M[A;[RWWW+W"C["JO:E3H)822,QF'R.[NUYWAS*:]T^;&@>;M= V_)-IZ!]A?
M&N,.AD_0_>0,_P102P,$%     @ &8 .5];1+1!R @  =P4  !D   !X;"]W
M;W)K<VAE971S+W-H965T,S$N>&UL?51;;]HP%'[G5QRE4[5)E(0$Z TB<>O:
M:>U0:;>':0\F.1"KCIW93M/]^]E)R&"BO)!S^[[S'9OC82'DBTH0-;REC*N1
MDVB=7;FNBA),B>J(#+G)K(5,B3:NW+@JDTCB$I0RU_>\@9L2RIUP6,86,AR*
M7#/*<2%!Y6E*Y)\),E&,G*ZS#3S23:)MP V'&=G@$O5SMI#&<QN6F*;(%14<
M)*Y'SKA[->G9^K+@.\5"[=A@)UD)\6*=NWCD>%80,HRT92#F\XI39,P2&1F_
M:TZG:6F!N_:6_::<W<RR(@JG@OV@L4Y&SH4#,:Y)SO2C*&ZQGJ=O^2+!5/D+
M157;#QR(<J5%6H.-@I3RZDO>ZG/8 5QX[P#\&N"7NJM&I<H9T20<2E& M-6&
MS1KEJ"7:B*/<7LI22Y.E!J?#Q?AI_O"T[,#')[)BJ#X-76UH;=*-:HI)1>&_
M0S& >\%UHF#.8XSW\:Z1TVCRMYHF_E'"+SGO0."UP??\X A?T,P8E'S!.WR?
MA8@+RA@0'L,=UX1OJ)D5QDJA5C"C*F)"Y1+AYWBEM#3_E%^'CJ'JTCO<Q6[/
ME<I(A"/'K(="^8I.>'K2'7C71V;H-3/TCK&'R^GM?/;\=0[?;J"^LT,2CY(<
ME@@'J%OF"K"Y I@*I6$<17F:,Z(QAOWT ^K6PL2Y.<P/)N2U_<#?L\Y:,XPP
M7:%L!=VV ?E[=/\G=]BZE_WVN=_?LTY/+OS@\AK.X-#!NCO+D*+<E"NO(!(Y
MU]5>--'F51E7R_2OO'J2[HG<4*Z X=I O<YYWP%9K7GE:)&5J[42VBQJ:2;F
M941I"TQ^+83>.K9!\]:&?P%02P,$%     @ &8 .5S4L<;6" P  \ @  !D
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
M $$WMZW(ONZ%2EX+?&#TJ3QY!V7)FO,_U&"8WK8L18AF-)$*@>#?(^W3+%-
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
MI7' ]TLA]&%@ E0WM\X_4$L#!!0    ( !F #E>(&;;1X ,    )   9
M>&PO=V]R:W-H965T<R]S:&5E=#,V+GAM;)U647/B-A!^]Z_8\;4W=S/4V,88
MD@ S0$B/]G+)!)(\=/H@S *:LRV?)$+27]^5;!QR)3STQ5[9NY^^U7[K=6\G
MY'>U0=3PG*6YZKL;K8OS9E,E&\R8\D2!.;U9"9DQ34NY;JI"(EO:H"QMAKX?
M-S/&<W?0L\]NY: GMCKE.=Y*4-LL8_)EA*G8]=W W3^XX^N--@^:@U[!UCA#
M?5_<2EHU:Y0ESS!77.0@<=5WA\'YJ&W\K<,#QYTZL,%DLA#BNUE,EWW7-X0P
MQ40;!$:W)QQCFAH@HO&CPG3K+4W@H;U'O[*Y4RX+IG LTD>^U)N^VW5AB2NV
M3?6=V'W!*A]+,!&ILE?8E;X1.2=;I456!1.#C.?EG3U7YW 0T/7?"0BK@-#R
M+C>R+"^99H.>%#N0QIO0C&%3M=%$CN>F*#,MZ2VG.#V8S6_&?\+-[7QZ\VWF
MP:<Y6Z2H/O>:FL"-2S.I@$8E4/@.4 S7(M<;!9-\B<NW\4TB53,+]\Q&X4G
M/[:Y!RV_ :$?MD[@M>I,6Q:O]5ZF&R;QMQ%5< FW[(6$I6$H)<O7:.V_A@NE
M):GD[V/)E]C1<6S3.>>J8 GV76H-A?()W<''#T'L7YQ@'M7,HU/H@]GXR^3R
M_NL$;J[@L%XP',^G#]/Y=#([1ODDZ''*\PTZ*Y%2I_)\#=IHH6I7_@\JT!N$
ML<@*EK]\_- -@\Z% E)H\AU$\=IC7'/RI>^%]7]!)@&-)N 2$\P6**$5V*J&
MP/*E=5+\&3(C'RA0<K%TR@"2 -82.(?].3COGX/S;6MW$"N8/*-,N$(H)$\0
M'FU_XM(9L93E"3;^0R> 3O>LT?9]^ 4"+PHA\H(6V:'7Z3J_DU H&LZZ0<.W
M+BVOW:9+'%2V,S:P:4I.E#H^%UR2^2EH-:)N#)\M:,??1X1>*W3V%,FM0[!!
M5+G1WJ$71=8^Z[[/.(2@$7?CBI"%KSBWO+!S"-^U/C6)\O8*_.:@#6BG^PK:
M/@9JI/%S7-P)CT2%WED$)[J@77=!^_]UP=5P>@</PZ_W$QC.9O?7Y;?L6$><
MW.!$1S NX8FE6S2Z0I9L]GI?&U4 5Y"P--FFS"ADJVSOD*I?.VE7B0_8$TJ:
M=< 4M97%4"=T?3PSQU2>ZE#08"/(E*\0;#L&%[;;%!7*=Z8D5\I"@R16IB"Q
MD5X$OSH/@HCRE.L7B&//#R ^\^*87CS^S/)MXF7.JDR:O*Q28[K$[:/U;1Y,
MI0SEVLY>.BJQS74YH.JG]7@?EE/MU;W\-[AF<LUIZQ17%.J3NER0Y;PM%UH4
M=L8MA*:):<T-_:*@- [T?B6$WB_,!O5/S^!?4$L#!!0    ( !F #E?"3D$\
M[ (  # '   9    >&PO=V]R:W-H965T<R]S:&5E=#,W+GAM;)55WV_:,!!^
MYZ\X9=6T2FD3DI!"!Y'XU343A0[2[6':@PD'B9K$U#:E^^_G.)"R"K+U)?&=
M[[[[[LX^M[>4/?((4<!+FF2\HT5"K*\-@X<1IH1?TC5F<F=)64J$%-G*X&N&
M9*&<TL2P3-,U4A)GFM=6NGOFM>E&)'&&]PSX)DT)^]W#A&X[6EW;*Z;Q*A*Y
MPO#::[+"&8J']3V3DE&B+.(4,Q[3#!@N.UJW?MUKY/;*X'N,6WZPACR3.:6/
MN> O.IJ9$\($0Y$C$/E[QCXF20XD:3SM,+4R9.YXN-ZCWZC<92YSPK%/DQ_Q
M0D0=K:G! I=DDX@IW=[B+A]%,*0)5U_8%K:NJ4&XX8*F.V?)((VSXD]>=G4X
M<&B><K!V#I;B7012+ =$$*_-Z!98;BW1\H5*57E+<G&6-V4FF-R-I9_PQI/Q
M17\R#J:3T<@??P%_' RGPUDP@T\!F2?(S]N&D'%R:R/<8?8*3.L$I@MW-!,1
MAV&VP,7?_H;D5Y*T]B1[5B7@UTUV";:I@V5:=@6>729M*SS[5-(T"R5#1A.Y
MLP(_$\B0"_C9G7/!Y$'Y=2SI M,YCIE?GFN^)B%V-'D[.+)GU+R/'^JN^;F"
ML5,R=JK0O5G_=CAX& UA<@,#?Q9,_=Y#X$_&LV-$*Z&.$]WCU][BUWHD(5F(
M.@PPQ'2.#.RZ:D0=SL#27=/2FXY=&\2R<O%\HZ[:)[?9TAW;@?.:+/7%8:WC
M?:UY1!@"74I-2%,$MU777:MQ.IZEHC5TTW;>1+.;5[K;<M\3S7(=O=6\>HTF
MCQB61TQEYC0MW;8:4-&]1MF]QG]W3UXX.';A8#H<=8/A (()=/O?'OR9GS?@
M6'\K@_V[O^]D4-61,[BH=<.G3<QCU0KY%.BF:5:4M3 X6E3C8(JER%9J5G,(
MZ283Q4 KM>5ST"VFX*MY\9;<$;:*,PX)+J6K>7DE2\:*^5P(@J[53)Q3(2>L
M6D;R24.6&\C]):5B+^0!RD?2^P-02P,$%     @ &8 .5Y[\<I71!0  RPX
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
MC$BNX5N\<636_^$[8CYSB,RMM%B;$6J2$P'">M2P'J'8=SQ*S"7Y^M],(_I
M$3MF^;3A>^I1'Z<>F)\US,^\Z0-'IAWT<=ZP/D>Q[U>K-()W"@.%ZIC>L._F
M^+Y':>S _V?R>P85>E-'"W07>834$:<H^DQP7!1X?-?$.NL+F4]5^/#"T)EA
MB#K6<:K H3NIPGEAB%O6K$JSV():HDWE)B^E> &;>85K!D7OFG;GB>'(IV9\
M^&/H##)$7>PXS>#081?-.'\,<1M[DN;]V[RDHL) (;KFUIEA>.Y3&#[\D3I_
MI*B%'26,%N@N;ZC4>2/%#>RR,NM#\6S$@<\:.$S7_#HGI-2C.*@/FZ3.)BF^
M1#Q*'#BT*7.[:_"+O5'+Q'B )$/R"EPJC+WS28J;V=(P:_,4'*)K@ITCTJ%/
M=?@P1.H,D>*KQ*/4@4,?4$=XVBX/9XD4]ZTGB))"9&+]^LZ%#([7-=W.">F9
M3ZWX\$CJ/)+B*\:CM()#'])*OU4KS+DDPZWL%KB"1&3Q^]]6<<2."6?.'EGH
M42W,AVDR9YH,7SX>HY86Z -JR>P?3#3('.O WM9JR]YJO7MM<!\@JWNADK1L
MT8N/125S9LE\;K$R'S;*G(TR?[NL+="'9I?V%Q7FC)2UN)U8Z0V7@.O#QP*2
M.;=D/K=8F0_K9,XZF;]=UA;H _I@A^71VSNQ,E/$NCZ74R025:&WAU?-U>;L
M[W)[XN6:;P\.[[A<IX4RL]?*A/9/3HV6Y?8L;EO1HJS/OYZ%-O-174R QR!M
M W-_)81^J]@'-">BTW\ 4$L#!!0    ( !F #E? ,_I;00<  "(O   9
M>&PO=V]R:W-H965T<R]S:&5E=#0Q+GAM;+6:6W.C-A3'W_LI-.YEVIGM&HF+
M(4T\DQAHW>EF,YO=]J'3!P7+AEF,J)#CW9E^^(I+P&"BM=/3/"2&G/,[Z/Q!
M.ASK<L_%QR)F3*)/VS0KKB:QE/G%=%I$,=O2XC7/6:;^L^9B2Z4Z%)MID0M&
M5Y73-IT2PW"F6YIDD_EE=>Y.S"_Y3J9)QNX$*G;;+16?;UC*]U<3/'DZ\2[9
MQ+(\,9U?YG3#[IG\D-\)=31M*:MDR[(BX1D2;'TUN<87(7%*A\KB]X3MBX//
MJ!S* ^<?RX/EZFIBE%?$4A;)$D'5GT>V8&E:DM1U_-U )VW,TO'P\Q,]K :O
M!O- "[;@Z1_)2L97$W>"5FQ-=ZE\Q_>_L&9 =LF+>%I4O]&^L34F*-H5DF\;
M9W4%VR2K_])/32(.'!1GW($T#F3H8#WC8#8.YL#AV4NR&@?KU AVXV /'9QG
M')S&H1)S6B>KRK1/)9U?"KY'HK16M/)#)5?EK1*<9.6==2^%^F^B_.3\?OGS
M[3)<+JYOWZ/KQ>+MA]OWR]N?T=W;WY:+97"/OO>9I$E:H%LJ!"WO@A_0C^C#
MO8^^_^:'RZE4EU""IE$3[J8.1YX)9Z(W/)-Q@8)LQ58C_K[>W_F2?ZCWQT0#
MF*K<M0DD3PF\(5KBK[OL-3*-5X@8Q!RYH,7I[F0L'_\M>O#?HH=Z=Y]%RAV/
MN?=R:;8WHUGQS&=X=X*O=I%$RZR>,LNIY\_?E!%:2K8M_AJ[WVJB-4XLY^6+
M(J<1NYJHB;=@XI%-YM]]C1WCIS&M(&$^)"R A(5 L)[&5JNQI:.K>R;G12+'
MI*P=G<JQ7!$?YS.C_+F</AZ*I.6?*])I,0/(F"$0K)=^NTV_K4W_>R:V:N6M
M-"A0SD3$LE$Q:@PV#C)CO#9<8@_4T(8[5XT3@P:004,@6$\.IY7#T<IQ'44[
MP58HR213]%$EG*-;%-O#9T(;Y5P53@@80 8,@6 ]!6:M C.M F]ES 22!X_%
MF 8UPSY(B3DV-6E#G2O#:3$#R)@A$*RGA-LJX6J5N*<I&\N]>Y0';)@F)AX>
M9-\]OF\Q=FQLF7U#_YA(##QS7<,=Y/:82+!GN189$$/MR%Z8-Z_-FZ?-VX(7
M$O$U*E3^BK$$>D?#G1&/6.9@M(L1.],P;7,V2)]WG&?+L"W/&60E. 9BB\PL
M#SN#]&D'^,+T8:-[!3*T"5QFCVKJ5:_+$OWYAFT?F!BM-/64<TM-4)H/2@M
M:2$4K:_NP0LN!G^I:)!04D/2?%!: $H+H6A]J4DG-=$^R,'?NT1^1ELF8U[6
M5$^/]2NUM!>12/)2_%&]M=RS]8:D^5\8\WVRR9)U$E$U>R79.MVQ+&(H*="&
M94S0-/VL!L^VJL:4'+%/B5HKDC5210]:\&U.L\_??>T2//NI^(KOE4,1)WE;
MC:H/E>4CETFV087DT<=RI2G/U=EE# F:;5B!'IC<,Y8A8GR+:+9"MO'M*T13
MI<1N$R->55EK&DDNBE>HV$4QH@42K,I )NO'DF=?':*?K@P]<"I69>!5(EB#
MH(*AB&=%LF)U :V&659Q259>ZCYF=5VG<*QW5R@*C2*^RZHAJ3S1/!<\%PF5
M8]5' "IF"$7K/R!=?P5K7^WG[V.A%+L32=E%1HNJO:@TUR][H!T64)H/2@M
M:2$4K2]UUV;!%ORR!]GF6(#2?%!: $H+H6A]J;N6#M;W=)Y[<6K<#@MU&\^(
M<=3#&3-T78\X@SK='S'$AN-B93LH_<<LL>W-9F18^^L']]+D=0T8K._ ?&E*
M1/^@=^R193N&UH)OU:J92:'6,;1/9-S:HQNU[,8*\5$_ET*V31:@-!^4%H#2
M0BA:_Q[I6D1X!C^70O9E%J T'Y06@-)"*%I?ZJX'A?5-J.NZ-BQ+TX@EC_0A
M9:K67*O*4A6S*=_3LKI6=P&*5-692)3R0A6C31^=;L;GX3JDU^MJ'\W!HT;#
MSM5)5L%)5J$^$R_-=->UPOJVU0D3;RO&NU8,_?0*U$=J%(&D^:"T )060M'Z
M7Z!W_3=B@$^O!+09!TKS06D!*"V$HO6E[IIQ1-L!>K94;=P.RT5+E:J./>@]
M+T8,B65XANL-9LH10Y/,9IXU_"[Q5&(X8NA@8EG$:@W[6>GZ5D3?P_D_%ITF
MY& -<(S#G^$7**,^YO E8-3*LH9I/845CEHY]C,)[?H<1-_GN(^3/"_[.V4G
MZA?U*RT/=$N''GCV? +:Y0"E!:"T$(K6%[KK<A#X+@<![7* TGQ06@!*"Z%H
M?:F[+@=Y69=#[W:VG*#[6<AQ%X2X#O&&W^&/V9D8&T?3Y?_1*R%=KX3H>R5?
M_*99[W^V%J#]#7*\K<6VB$GP4(L1.]=PO-E0"]">Q/1@"Z]Z#=I4FZT+5-4%
M]0;*]FR[H?NZVL8\.'^#+Q9XY+R/+X)ZNW:'KW>/OZ%BDV0%2ME:A3)>S]1-
M)NH-V?6!Y'FU@?B!2_6.5GV,&5TQ41JH_Z\YET\'98!V6_S\7U!+ P04
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
MP;*!H$M=E4RHD#6.[BYDV8J8"I#K,TK%QT 5.D4A'/X'4$L#!!0    ( !F
M#E?GMKY!ZP$  /<#   9    >&PO=V]R:W-H965T<R]S:&5E=#0T+GAM;'U3
M;6^;,!#^*Y8G39LT80)--V6 U+2=MFHO4:-MGQVX!*O&9K8)W;_?V1#$I*1?
MP'>^Y[GGSG=9K\V3K0$<>6ZDLCFMG6M7C-FRAH;;2+>@\&:O3<,=FN; ;&N
M5P'42);$\35KN%"TR()O8XI,=TX*!1M#;-<TW/Q=@]1]3A?TY'@4A]IY!RNR
MEA]@"^YGNS%HL8FE$@TH*[0B!O8YO5FLUJF/#P&_!/1V=B:^DIW63][X4N4T
M]H) 0ND\ \??$6Y!2D^$,OZ,G'1*Z8'S\XG]4Z@=:]EQ"[=:_A:5JW/Z@9(*
M]KR3[E'WGV&L9^GY2BUM^))^B$TQ8]E9IYL1C'8CU/#GSV,?9H#%U05 ,@*2
MH'M(%%3><<>+S.B>&!^-;/X02@UH%">4?Y2M,W@K$.>*K_<WV_MM1-[<@>-"
M6O*=&\-]I]YFS&$"'\;*D6P]D"47R!XZ%9$T?D>2.$G_AS/4-8E+)G%)X$LO
MB0/LMXW."1F 5^>!?I)7MN4EY!1'U8(Y BU>OUI<QQ]?D)5.LM*7V(L?+?@6
MJ0.102"IA"UUIQQ!-YQ3._ MXD#H]^18Q%&\7&;L.-?!9N_H5^(;-P>A+*;9
M(RZ.WB\I,<.8#8;3;7C:G78X*.%8XV:"\0%XO]?:G0P_+=.N%_\ 4$L#!!0
M   ( !F #E?E54[[A@(  %@&   9    >&PO=V]R:W-H965T<R]S:&5E=#0U
M+GAM;*U574_;,!3]*U8V32 -\DT):R.5M BF;:"6;@_3'MSTMHUPXLYV6O;O
M=^VD68#0[6$OB:]]S_$Y=NY-?\?%@UP#*/*8LT(.K+52FPO;END:<BI/^08*
M7%ERD5.%H5C9<B. +@PH9[;G.&=V3K/"BOMF[D[$?5XJEA5P)X@L\YR*7Y?
M^&Y@N=9^8I*MUDI/V'%_0U<P!37;W F,[(9ED>50R(P71,!R8 W=BR34^2;A
M:P8[V1H3[63.^8,.;A8#R]&"@$&J- /%UQ828$P3H8R?-:?5;*F![?&>_<IX
M1R]S*B'A[%NV4.N!=6Z1!2QIR=2$[ZZA]F,$IIQ)\R2[*C?T+)*64O&\!J."
M/"NJ-WVLSZ$%<(-7 %X-\/X5X-< WQBME!E;(ZIHW!=\1X3.1C8],&=CT.@F
M*_0M3I7 U0QQ*IXFU^/1[-.8W%Z189+<SK[<3\EDG(QOO@XO<?IH!(IF3!Z3
M$S*;CLC1V^.^K7!C#;?3>I/+:A/OE4T^EL4I\9WWQ',\OP.>'(:/($6X:^#>
M4[B-=AO/7N/9,WS^*WP32"';TCD#2;X/YU()_)A^=-FJ>()N'EU@%W)#4QA8
M6$$2Q!:L^-T;]\SYT&7R/Y$]L>PWEOU#[/$P37E9*(F%M_?>Y;<B.3,DNOZW
M<:_GA9Z#E[9M6WF9%_7\R V=)N^)RJ!1&1Q6R;"IT"+%>\'^1!:\G*MER;#6
M*_5=DBO&L"7EQ(L<-WPNN2OO//(BOUMRV$@.#TJ^YXK^$?B7XPU?'F_@AT[K
MV"JM+_.B((C.P]XSK7:K[G7/_4S%*BLD8;!$I'/:0R)1];$J4'QC6L&<*VPL
M9KC&U@]")^#ZDG.U#W1W:7XF\6]02P,$%     @ &8 .5WL"MFB% @  1@8
M !D   !X;"]W;W)K<VAE971S+W-H965T-#8N>&ULK5713MLP%/T5*YLFD#;B
M.&DHK(T$+0BF#5 +3-.T!S>Y;2V<.-AN W\_VTFC J':PUYB7_N>DW,<WYM!
M)>2#6@)H])3S0@V]I=;EL>^K= DY50>BA,+LS(7,J3:A7/BJE$ S!\JY3S".
M_9RRPDL&;NU&)@.QTIP5<".16N4YE<^GP$4U] )OLS!ABZ6V"WXR*.D"IJ#O
MRAMI(K]ER5@.A6*B0!+F0^\D.![U;+Y+N&=0J:TYLDYF0CS8X#(;>M@* @ZI
MM@S4#&L8 >>6R,AX;#B]]I46N#W?L)\[[\;+C"H8"?Z397HY]/H>RF!.5UQ/
M1'4!C1\G,!5<N2>JZMR(>"A=*2WR!FP4Y*RH1_K4G,,6((C> 9 &0/X5$#:
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
M.IV!&FE>;XG:D*PT@[9@4HVM.69JL0+7 >I^R9C<&CI!NZK#WU!+ P04
M"  9@ Y7=HT"OW4"  "+!@  &0   'AL+W=O<FMS:&5E=',O<VAE970T.2YX
M;6RM55UOTS 4_2M60&B3QI(FS0:CC=2U&QOBHUHW>$ \N,EM:\VQ@WW3#'X]
MMI-&K9:52?"2^-KW')]S'=\,*JGN]0H R4/.A1YZ*\3BS/=UNH*<ZF-9@# K
M"ZERBB942U\7"FCF0#GWPR X\7/*A)<,W-Q4)0-9(F<"IHKH,L^I^G4.7%9#
MK^=M)F[8<H5VPD\&!5W"#/"NF"H3^2U+QG(0FDE!%"R&WJAW-HYMODOXRJ#2
M6V-BG<REO+?!=3;T BL(.*1H&:AYK6$,G%LB(^-GP^FU6UK@]GC#?NF\&R]S
MJF$L^3>6X6KHO?%(!@M:<KR1U14T?IS 5'+MGJ2J<^/((VFI4>8-V"C(F:C?
M]*&IPQ:@UW\"$#: \+F J %$SFBMS-F:4*3)0,F**)MMV.S U<:AC1LF["G.
M4)E59G"8S,97%Y.[CQ?DRR69CFXO/M_.R,$$D#*N#\EK<C>;D(.7AP,?S686
MXJ<-\7E-'#Y!_*$4QR0*CD@8A%$'?+P?/H'4P'L.'N["?6.Q]1FV/D/'%SW!
M]U[*K&*<$RHR<BV0BB6;<R CK0$UF3"=<JE+!>3[:*Y1F<_K1Y?I>I=^]R[V
MRIWI@J8P],R=TJ#6X"6O7O1.@G==)?A/9#L%B=J"1/O8DRE%$*B/2"HU=CFM
MX2<.;GO!.C&=(8S,8:RW/3Q.Z[V-3\.X3=M1UV_5]?>J&Z5IF9?<:,P(S:5"
M]IO::]\EM&:*_R;T<=H^H7$K-'Y>&05T5G$ONON(2=>G\N\\M3U_JU78-OV)
MJB43FG!8&.;@^-1LI.K65P<H"]<]YA)-+W+#E?E;@+()9GTA)6X"VY#:_T_R
M!U!+ P04    "  9@ Y7Y67GB8$#  #Y#0  &0   'AL+W=O<FMS:&5E=',O
M<VAE970U,"YX;6R]5UUOVC 4_2M6-DVMU#4?0* =(%%"NTR45J/='J8]F.0"
MUAR;V0:V_?HY3IK1-J19-Y4'8COW7-]S?&-?=[=<?)-+ (5^))3)GK54:G5J
MVS):0H+E,5\!TV_F7"18Z:Y8V'(E ,<&E%#;<QS?3C!A5K]KQJY%O\O7BA(&
MUP+)=9)@\?,,*-_V+->Z&_A(%DN5#MC][@HO8 KJ=G4M=,\NO,0D 28)9TC
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
M(!CXG#+AI8E;FZHTD2LLF8"I(GK%.55_QE#*S=#K>]N%.[8LT"[X:5+1)<P
M'ZJI,C._9<D9!Z&9%$3!8NB-^F>34UOO"KXSV.B=,;%*YE(^VLE5/O0"VQ"4
MD*%EH.:QA@F4I24R;?QN.+WV2 O<'6_9+YUVHV5.-4QD^8/E6 R]SQ[)84%7
M)=[)S5=H]+@&,UEJ]TLV=6T<>R1;:92\ 9L..!/UDSXU/NP #$\W(&P X6O
MOA.B!A YH75G3M8Y19HF2FZ(LM6&S0Z<-PYMU#!AW^(,E=EE!H?I='1_<7L_
MZY&C<T#*2DUNJ5+4>GM,3LC#[)P<O3].?#1G682?-;SCFC?<PSL@-U)@H<F%
MR"%_B?=-CVVCX;;1<7B0\-M*]$@4?"1A$$8=_4S^'QX>:"=J?8L<7[S/-XH@
M4).?-\#GH'YU.720P5[/,UW1#(:>N7\:U!J\],.[_B#XTB7OC<A>B(U;L;%C
MC_:(O62"(9Q<FS]%3JX$4K%D\Q+(2&NP'ER;>G*%P'6G#_%;^O!&9"]\.&U]
M.#WXTD=<*F1_J0L@N2#LV0KJK.A2?Y"RNV'2);SF&3@>F\WK-.[W@\1?[PKR
M=Y* @UJZ@-0DDRN!]5UK5]L,'KGH>;4^-ME<1^DS31WL-U0MF="DA(6A#'J?
M3&.J#LMZ@K)R>3.7:-++#0OS?0%E"\S^0DK<3NP![1<K_0=02P,$%     @
M&8 .5^S9Q&\F @  \ 0  !D   !X;"]W;W)K<VAE971S+W-H965T-3,N>&UL
MK91=;]HP%(;_BI5-4RMM.!] *Y9$6@E=.]&!"&S7)CD0JTZ<V0:Z?S_;"1'5
MH-K%;HB/?=[W^#$^#@]</,L"0*&7DE4R<@JEZA'&,BN@)++':ZCTRH:+DB@=
MBBV6M0"26U')L.^Z0UP26CEQ:.?F(@[Y3C%:P5P@N2M+(G[? >.'R/&<X\2"
M;@ME)G <UF0+*:A5/1<ZPIU+3DNH).45$K")G"_>:!R8?)OP@\)!GHR1(5ES
M_FR"QSQR7+,A8) IXT#T9P]C8,P8Z6W\:CV=KJ01GHZ/[O>67;.LB80Q9S]I
MKHK(N750#ANR8VK!#P_0\@R,7\:9M+_HT.0.=,5L)Q4O6[&.2UHU7_+2GL.)
MP.M?$/BMP/]70= *[,GA9F<6*R&*Q*'@!R1,MG8S WLV5JUI:&7^Q50)O4JU
M3L7I^&&2K*83-+M'T]GWKV@Y63RA9#*?I8_+%%TEH AE\AI]0JLT05?OKT.L
M=%VCQEE;XZZIX5^H\6U7]5#@?D2^ZP=GY..WY0ED6NY9N?]:CC5MA^QWR+[U
M"R[X37FU14L0)4J@YI+J+CC'U)CTSYN8YAK)FF00.;I[)(@]./&'=][0_7R.
M\#^9O>(-.M[@+?>&5QG>O.4]A]MX#*V':?U]'-RXWF 8XOTIR-]IMX.^VR4U
M&\0G]]&\!4]$;&DE$8.-EKF]FX&#1--?3:!X;:_HFBM]X>VPT$\2").@US><
MJV-@;GWWR,5_ %!+ P04    "  9@ Y7I?(:$(D#  !\"0  &0   'AL+W=O
M<FMS:&5E=',O<VAE970U-"YX;6R%5FUSXC80_BL:M]/IS?3B-PPF!<] <"YT
MR)6&D'[H](.P%ZPYV>(D&7+__E8V<;AB7#Y@O>WS/"MI=S4Z"OE%90":O.:\
M4&,KTWI_:]LJR2"GZD;LH<"9K9 YU=B5.UOM)="T,LJY[3E.W\XI*ZQH5(TM
M9302I>:L@*4DJLQS*K]-@8OCV'*MMX$GMLNT&;"CT9[N8 5ZO5]*[-D-2LIR
M*!03!9&P'5L3]W;J^L:@6O'"X*C.VL2XLA'BB^G,T['E&$7 (=$&@N+G '?
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
MQX5JBX&7!NK]C#&Y&90+-(UV_P=02P,$%     @ &8 .5U@?5;'F @  ' <
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
MJ^3-=<H]WVFDDG/9FG)0EUHU"5O@X]92S;E,M9P[N^5L[NQ4,[ T ]]9T;E
M9=/L0TU)FWLZU4E)4:Z144;3!64"",QB,*-,AI,DY%I#)[".EB9RH4IF6MUN
MM]_2XX1; I%K)J(WK%!W)(B0?#85<OKQK,FK"Y@V'2? E:$V:U*K)JX$,;?=
MS )5*VS5I59-0HE;KA%F1G)#DO^8<SG_ 8KI2KY_F1&&US1:JWO1ZR6?Z;>W
M)K:J]_V*;P*JW)*J7#-6781R@H=R^I]JL[M7ORV]SR:8RRVARS53UP-FOJQB
M%*9^YI1A$JK?,7QEFDO+/B9K-(O2QR19R[:4/6L=]S1;TMZ.U 2;N26<N68Z
MN\(S >92/W^K6A_]_977T;ZY)G@)EKP$C2@B*U'N1YB+@XR0QRNBV7HC3@_N
MOI0##;MM_58#2YJ!9IK)MIJW;1^O\Z]L,2DJ<&\1-NQ"YE$>NP#7I5;-:0E5
M$#:R"\&:""I/0A,\!DL>@S7QF%GG"!Z#^SSFM9QNOWN@1DH<@V_!L=T:J8W
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
M&U#R*;5-N6P)D+PEV.7/&2/R*ZB<>_1M:I4TK(I6U73C_O^)'P"H?0*@]A'
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
M5XPUR<="-6,YX)K&?)V 6>P37^$_U?M#I $P!?&2/7IF/T%:Q+^W<0?8UAN
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
M%2MRO4#-+QB3CQU-4-3 P1]02P,$%     @ &8 .5RT/\W]*!0  J!X  !D
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
M=JK(=AHC&]Q-^9+LB0>/[W9% &]N1N#K+<SFD'P#?TL6;F"Z)8N8[T7!]9I
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
MB1W0^^$I,>FXFF@%>F!(1CU?3PS(B'K?ZY&?<^M&;HF<V(F\-YD2$XZ/F/E
M&$,ZP;C/]-R #H<DU"<M,20DG@CH'B8A+963?E2^'\8( ,5J<#S]BAP#0E)-
MU:C08_=TC'LX=F.W/$[L//X"*+4['O*@=604N3**'1AUQZ&='!#[Y.#CY=FA
M1&QW/)2TG+I%3MUB5V[=L6FG*T1\3R(F3F<N3MTBIVZQ*[?N.+4S%V+_OP8;
M$8? ,A[V/%\8#V](&0;<6!B+(&4H@H S7W]\FTJ"U2S>]S#\_*;M+(#:9P%]
MR)@"F \MG0(Z:.D4D(%+IU"SEJ53VLX&J'TV<#"44G/IF@H<<GW9'- 1ZG&A
MO[<!7<"(T-?;8D!7+\GLF0_1%LOI<POF?=B4FF1,&0FPOGX(Z#C%+-3I%-#Y
M#// &'B R FC(=N7>V<#C)W)>P,J-0E9<(R)SN6 #@?,)+ ($@H1$*(OG0)"
MRCQ&^+Y;O:5SVH_.]Y,9->F8A9PQ$3(]-Z#DV#>G5U%OS[B/9S=Z"^?4#N<O
MH-3&<7?7RYZE4T@)+IV"EN#2*:0$ETZ'.QL"%4O<UCLQ"S3-UFFYV1BV/;K=
M[7E6[W'4CI_CXS$&CD?X.-[LY6SM-UM++Y+\=IX6:"%O5%/>ZT"=<[[9K;GY
M4F:K>COB=58JT*D_WLED)O-*H'Z_R;+RZ4O5P';/[.A_4$L#!!0    ( !F
M#E=YX-(RE0,  .\0   9    >&PO=V]R:W-H965T<R]S:&5E=#<P+GAM;,68
M;7/:.!#'OXK&U[EI9]KXV9@<>,;![C4W"<U Z;WHW N!%_#4MCA)0/KM3[(=
M!U/'D^0TTS<@R?O_K797+(C1D=#O; O T7V>%6RL;3G?7>HZ6VTAQ^R"[* 0
M3]:$YIB+*=WH;$<!)Z4HSW3+,#P]QVFA!:-R[8X&([+G65K '45LG^>8_KB"
MC!S'FJD]+,S2S9;+!3T8[? &YL 7NSLJ9GI#2=(<"I:2 E%8C[70O(Q-0PI*
MBZ\I'-G)&,E0EH1\EY/K9*P9<D>0P8I+!!9O!YA EDF2V,>_-51K?$KAZ?B!
M_K$,7@2SQ PF)/L[3?AVK/D:2F"-]QF?D>,GJ -R)6]%,E:^HF-E.Q#&JSWC
M)*_%8@=Y6E3O^+Y.Q(E <+H%5BVPS@7.$P*[%MC/]>#4 N>Y'MQ:4(:N5[&7
MB8LPQ\&(DB.BTEK0Y*#,?JD6^4H+>5#FG(JGJ=#Q8#[Y%$>+FQA]_HAF\==X
MNHC1G_$TGH5?X@A=3]%B>BU'\R]B88[":80FX32,0O0V H[3C+U#']!B'J&W
M;]Z-="ZV),'ZJG9_5;FWGG!OHUM2\"U#<9% TJ&/^O5>CUX7J6CR83WDX\KJ
M!?ZU+RZ0;;Q'EF'9'?N9/%]N=87S_[S'K_;>2H;=' Z[Y-E/\&9P@&(/#*TI
MR5%\SX$6.$.3\E@"90@7";HAQ>;#C?BT)RAD##A#WVX$!UUSR-D_74>B<NIT
M.Y6=\9+M\ K&FFA]#.@!M.#WWTS/^*.K'BIAD4I8K C6JIS35,[IHP=SG 'K
MRGTE\TJ9_!(Y!*9AVZ8U-$?ZX32O'8:FZ;FF8[<-HY\-+<,<^+[AMPWC#D-S
MZ/B.]4ALQ>HVL;J]L5;]J"O87MU+#YI*6*02%BN"M9+O-<GW?D6+\%163B4L
M4@F+%<%:E1LTE1N\KD7TREZ:>Y6PJ(*Y)QW$-FW#/6\T/YM9@Z%K#KK;C-_D
MR^_-UZ)(N3C <XXY,'FJPR4E.$'?;B%? NT\QKW$EZ92)2Q2"8L5P5IE&39E
M&?Z*!C1463F5L$@E+%8$:U7.-![O'L;K6E"_[J7I5TJ+:EKKE]'0]]R!:YSU
MH0Y+R_0\?VAX9ZU(/[G B4.[*6_.#*W(ON#5S_5FM;F=A^6=]&S]RKR<F!WK
MD;S-EQ?&1WSU5\ MIINT8"B#M7!E7 Q$WZ35[;J:<+(KKX]+PL4GJAQN 2=
MI8%XOB:$/TRD@^8_CN _4$L#!!0    ( !F #E?86=EKZ (  'T*   9
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
MK\G"8?E8D&\$7>C..J9"9K%>SN4DA4P)R/LII6*S40^4LYGW"U!+ P04
M"  9@ Y7\!&XM2X#  #N$@  #0   'AL+W-T>6QE<RYX;6S=6%UKVS 4_2M&
M74<+HT[BQ8W7)+ %"H-M%-J'O14EEA.!+'FRTB7[]=.5'.>CNJ7KPY;.(;5T
MC\ZY1])U+3*LS5JPVP5C)EJ50M8CLC"F^A#']6S!2EI?J(I)BQ1*E]38KI['
M=:49S6L@E2+N=3II7%(NR7@HE^5U:>IHII;2C$B_#47^]CD?D6[ZGD1>;J)R
M-B+W9V]_+)6Y>A/Y^\F[DY/._?G58?S, ><D#HKVGR%ZT>G@P@!BXNGSQ)_2
MQJ0O]Z7=\%,KY(FG&&T0H-DL6R9T'#EN-F4\+)3<[DU"?,"JTY)%#U2,R(0*
M/M4<6 4MN5C[< \",R64CHPM"INN"Y'ZEX>[O@?UTNB47"KM<OL,_N^T&7X
M;'I@D O1&NP1'Q@/*VH,T_+:=MQ@%WP$14W[;EU9AW--U]U>GVP)[F:33)7.
MF6[3=,DF-!X*5H =S><+N!M5Q0 :HTK;R#F=*TF=APVC:5C9&1/B%AZF[\6>
M]JK8V;<.[)ILF]90T_0RO@/ZNVI>>U>V]R+=J.(/RGQ:VNE(UX<"93>:%7SE
M^JNB-8"I=W%U6E5B_5'PN2R9G_RS$XZ'=,.+%DKS7S8;E,K,!I@FT0/3AL]V
M(S\UK>[8RFS*:57@GGNOT//?7><YDTQ3L6O:UOXQK_*+'2>7_\JR^Z]R:#CH
ML7E#'KO)_FLPF;X&DZ^B)@?';S+)CM)CW+R_=PX)>T>$-AK!46Q$OL'!3FR3
M1M,E%X;+IK?@><[DHY."E3=T:@_S>_IV?,X*NA3FK@5'9-O^RG*^++-VU TL
M1#-JV_X"T^NF[3G0YN(R9RN63YJNGD]=,[(-F[6Y@'"(7+LKC& <CX41P+ \
MF .,XUE8GO]I/@-T/A[#O V"R #E#%".9X60B?M@><*<S%[AF699DJ0IMJ*3
M2=#!!%NW-(5O6 WS!@PL#V3ZL[7&=QNOD*?K -O3IRH$FRE>B=A,\;4&)+QN
MP,BR\&YC>8"![0)6.Y _G =J*LQ)$MA5S!OV!.-(EF$(U&*X1M,469T4/N']
MP9Z2),FR, )8V$&28 @\C3B".0 /&)(D[CUX\#Z*-^^I>/L+U_@W4$L#!!0
M   ( !F #E>7BKL<P    !,"   +    7W)E;',O+G)E;'.=DKENPS ,0'_%
MT)XP!] AB#-E\18$^0%6H@_8$@6*19V_K]JE<9 +&7D]/!+<'FE [3BDMHNI
M&/T04FE:U;@!2+8ECVG.D4*NU"P>-8?20$3;8T.P6BP^0"X99K>]9!:G<Z17
MB%S7G:4]VR]/06^ KSI,<4)I2$LS#O#-TG\R]_,,-47E2B.56QIXT^7^=N!)
MT:$B6!::1<G3HAVE?QW']I#3Z:]C(K1Z6^CY<6A4"H[<8R6,<6*T_C6"R0_L
M?@!02P,$%     @ &8 .5Z2(^-GE!0  4R\   \   !X;"]W;W)K8F]O:RYX
M;6S%FEUOFT@4AO_*R!>KKM34,5]NNTTE F-G5,QX8? J5RMBDP850P2DW>VO
MWP'7[2&AIWMSG*O$V+(?'\P\[SG#NR]5_>FFJCZQ?_9%V5Q,[MKV_NUTVFSO
MLGW:O*KNLU(_<UO5^[35#^N/T^:^SM)=<Y=E[;Z8&N?GSG2?YN7D_;OC>ZWK
M*7Q0M=FVS:M2'^P.;/+L2_/C^>XA^YPW^4U>Y.V_%Y/^_R*;L'U>YOO\:[:[
MF)Q/6'-7?;FJZOQK5;9I$6_KJB@N)K/#$YNL;O/MD\-Q!ZG2FZ8_TJ8W4:I!
M+B;.N7[#V[QNVOX5_?NGFO%SIE]\>/305HN\:+/:3]ML65</]WGYL7L;_2VF
MX&OT=3C^/13Q;?U_REC=WN;;S*^V#_NL; ]UK+.B RR;N_R^F; RW6<7$Z_Z
MG-7=]]$?(':'[]9J*%"I^FVNGZC%KL>C1"EW6=ED.R9*79I\S_21IBKRG>;9
M,0!I()#&,T+^;0!($X$TGQ/2!) 6 FD])Z0%(&T$TGY.2!M .@BD0PMYZ<8B
M9G+!UA&/>:A<)60(T.8(VIP6+1;+4"R$YX:*N9XGDU")<,G6,A">X#& ?(U
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
M^C])]7@^-U\O?UE^[YS<EPO.]6U%>?H+4$L#!!0    ( !F #E= :Q>Z  (
M ,8I   3    6T-O;G1E;G1?5'EP97-=+GAM;,W:34[#,! %X*M4V:+&]6\!
M43; %EAP 9-,VZA);-D&RNUQ4D "004J$F_3J+4];^*1OE7/[IX]Q<FV:_NX
M*-8I^5/&8K6FSL;2>>KSRM*%SJ;\-:R8M]7&KHB)V<RPRO6)^C1-0XWB_.R2
MEO:A39.K;?XY-JY?%(':6$PN=AN'K$5AO6^;RJ:\SA[[^E/*]#6AS"?'/7'=
M^'B4-Q3LRX1AY?N UW,WCQ1"4]/DUH9T;;N\BVU;%M-S2['<7^*+'MURV514
MN^JART?*Z /9.JZ)4M>6NZ)'^Y-3OF':??*#\\<R^P+SSMO@?,P3"_3[N+>1
M#*>G/A>BD)K]K_B>F$L?_'XT3+NF^H?9^7J?7-B,\XAL?!Q^QQ]G_%[_EWT(
MD#XD2!\*I \-TH<!Z6,.TL<Q2!\G('WP&4HC**)R%%(YBJD<!56.HBI'896C
MN,I18.4HL@H4606*K )%5H$BJT"15:#(*E!D%2BR"A19!8JL$D56B2*K1)%5
MHL@J4625*+)*%%DEBJP215:)(JM"D56AR*I09%4HLBH4616*K I%5H4BJT*1
M5:'(JE%DU2BR:A19-8JL&D56C2*K1I%5H\BJ4635*+(:%%D-BJP&15:#(JM!
MD=6@R&I09#4HLAH460V*K',46><HLL[_4]9[YS9_'#\^R\XV_5L^&_^^>?X"
M4$L! A0#%     @ &8 .5P=!36*!    L0   !               ( !
M &1O8U!R;W!S+V%P<"YX;6Q02P$"% ,4    "  9@ Y7V!'E'>X    K @
M$0              @ &O    9&]C4')O<',O8V]R92YX;6Q02P$"% ,4
M"  9@ Y7F5R<(Q &  "<)P  $P              @ ', 0  >&PO=&AE;64O
M=&AE;64Q+GAM;%!+ 0(4 Q0    ( !F #E<3Z,?CVP4  )P?   8
M      " @0T(  !X;"]W;W)K<VAE971S+W-H965T,2YX;6Q02P$"% ,4
M"  9@ Y7%.>8JD0'  !?'@  &               @($>#@  >&PO=V]R:W-H
M965T<R]S:&5E=#(N>&UL4$L! A0#%     @ &8 .5[)3@(W* @  F0@  !@
M             ("!F!4  'AL+W=O<FMS:&5E=',O<VAE970S+GAM;%!+ 0(4
M Q0    ( !F #E<@8";6=0H  +TR   8              " @9@8  !X;"]W
M;W)K<VAE971S+W-H965T-"YX;6Q02P$"% ,4    "  9@ Y7!K&M]>$(  !!
M)P  &               @(%#(P  >&PO=V]R:W-H965T<R]S:&5E=#4N>&UL
M4$L! A0#%     @ &8 .5Y"*_?0K#   T&X  !@              ("!6BP
M 'AL+W=O<FMS:&5E=',O<VAE970V+GAM;%!+ 0(4 Q0    ( !F #E>,>NSY
M>P<  %<0   8              " @;LX  !X;"]W;W)K<VAE971S+W-H965T
M-RYX;6Q02P$"% ,4    "  9@ Y7/WC6,-(<  #:4P  &
M@(%L0   >&PO=V]R:W-H965T<R]S:&5E=#@N>&UL4$L! A0#%     @ &8 .
M5T9#\EW4!0  H0T  !@              ("!=%T  'AL+W=O<FMS:&5E=',O
M<VAE970Y+GAM;%!+ 0(4 Q0    ( !F #E<\L,6VA (  (X%   9
M      " @7YC  !X;"]W;W)K<VAE971S+W-H965T,3 N>&UL4$L! A0#%
M  @ &8 .5S=/:*B# @  8@4  !D              ("!.68  'AL+W=O<FMS
M:&5E=',O<VAE970Q,2YX;6Q02P$"% ,4    "  9@ Y72G2!62\$  !B"0
M&0              @('S:   >&PO=V]R:W-H965T<R]S:&5E=#$R+GAM;%!+
M 0(4 Q0    ( !F #E>:O%);DP(  +@%   9              " @5EM  !X
M;"]W;W)K<VAE971S+W-H965T,3,N>&UL4$L! A0#%     @ &8 .5ZP5%0R(
M P  T@@  !D              ("!(W   'AL+W=O<FMS:&5E=',O<VAE970Q
M-"YX;6Q02P$"% ,4    "  9@ Y7'%H $*$"  #G!0  &0
M@('B<P  >&PO=V]R:W-H965T<R]S:&5E=#$U+GAM;%!+ 0(4 Q0    ( !F
M#E<FV,^8$P8  %X-   9              " @;IV  !X;"]W;W)K<VAE971S
M+W-H965T,38N>&UL4$L! A0#%     @ &8 .5\/;/;/&!   >0T  !D
M         ("!!'T  'AL+W=O<FMS:&5E=',O<VAE970Q-RYX;6Q02P$"% ,4
M    "  9@ Y77A[T!_T$  #J"P  &0              @($!@@  >&PO=V]R
M:W-H965T<R]S:&5E=#$X+GAM;%!+ 0(4 Q0    ( !F #E<EWN15G@4  "@,
M   9              " @36'  !X;"]W;W)K<VAE971S+W-H965T,3DN>&UL
M4$L! A0#%     @ &8 .5W7FK,=@ @  >04  !D              ("!"HT
M 'AL+W=O<FMS:&5E=',O<VAE970R,"YX;6Q02P$"% ,4    "  9@ Y7H)C(
M@  %   X"P  &0              @(&ACP  >&PO=V]R:W-H965T<R]S:&5E
M=#(Q+GAM;%!+ 0(4 Q0    ( !F #E=5XNLB&@<  +@0   9
M  " @=B4  !X;"]W;W)K<VAE971S+W-H965T,C(N>&UL4$L! A0#%     @
M&8 .5](( (5( @  *04  !D              ("!*9P  'AL+W=O<FMS:&5E
M=',O<VAE970R,RYX;6Q02P$"% ,4    "  9@ Y7/]W , X"  "G!   &0
M            @(&HG@  >&PO=V]R:W-H965T<R]S:&5E=#(T+GAM;%!+ 0(4
M Q0    ( !F #E<IW^MV!QT  /-;   9              " @>V@  !X;"]W
M;W)K<VAE971S+W-H965T,C4N>&UL4$L! A0#%     @ &8 .5XW[KCLQ P
M)@<  !D              ("!*[X  'AL+W=O<FMS:&5E=',O<VAE970R-BYX
M;6Q02P$"% ,4    "  9@ Y7G-F'$.<#  "."0  &0              @(&3
MP0  >&PO=V]R:W-H965T<R]S:&5E=#(W+GAM;%!+ 0(4 Q0    ( !F #E<H
M'UF6B0(  (L%   9              " @;'%  !X;"]W;W)K<VAE971S+W-H
M965T,C@N>&UL4$L! A0#%     @ &8 .5[#/K=>, @  904  !D
M     ("!<<@  'AL+W=O<FMS:&5E=',O<VAE970R.2YX;6Q02P$"% ,4
M"  9@ Y7)6F,=PP$  #P"   &0              @($TRP  >&PO=V]R:W-H
M965T<R]S:&5E=#,P+GAM;%!+ 0(4 Q0    ( !F #E?6T2T0<@(  '<%   9
M              " @7?/  !X;"]W;W)K<VAE971S+W-H965T,S$N>&UL4$L!
M A0#%     @ &8 .5S4L<;6" P  \ @  !D              ("!(-(  'AL
M+W=O<FMS:&5E=',O<VAE970S,BYX;6Q02P$"% ,4    "  9@ Y7IL"DPJD"
M  #D!0  &0              @('9U0  >&PO=V]R:W-H965T<R]S:&5E=#,S
M+GAM;%!+ 0(4 Q0    ( !F #E<@=>&'V 0  ,4,   9              "
M@;G8  !X;"]W;W)K<VAE971S+W-H965T,S0N>&UL4$L! A0#%     @ &8 .
M5]935/?Q P  Q0D  !D              ("!R-T  'AL+W=O<FMS:&5E=',O
M<VAE970S-2YX;6Q02P$"% ,4    "  9@ Y7B!FVT> #    "0  &0
M        @('PX0  >&PO=V]R:W-H965T<R]S:&5E=#,V+GAM;%!+ 0(4 Q0
M   ( !F #E?"3D$\[ (  # '   9              " @0?F  !X;"]W;W)K
M<VAE971S+W-H965T,S<N>&UL4$L! A0#%     @ &8 .5Y[\<I71!0  RPX
M !D              ("!*ND  'AL+W=O<FMS:&5E=',O<VAE970S."YX;6Q0
M2P$"% ,4    "  9@ Y7V[FUTUD$  !>'@  &0              @($R[P
M>&PO=V]R:W-H965T<R]S:&5E=#,Y+GAM;%!+ 0(4 Q0    ( !F #E>"5P<E
M=P0  !T=   9              " @<+S  !X;"]W;W)K<VAE971S+W-H965T
M-# N>&UL4$L! A0#%     @ &8 .5\ S^EM!!P  (B\  !D
M ("!</@  'AL+W=O<FMS:&5E=',O<VAE970T,2YX;6Q02P$"% ,4    "  9
M@ Y7;U8Z#(0#  "S"P  &0              @('H_P  >&PO=V]R:W-H965T
M<R]S:&5E=#0R+GAM;%!+ 0(4 Q0    ( !F #E=,F?T4Y0(  !0+   9
M          " @:,# 0!X;"]W;W)K<VAE971S+W-H965T-#,N>&UL4$L! A0#
M%     @ &8 .5^>VOD'K 0  ]P,  !D              ("!OP8! 'AL+W=O
M<FMS:&5E=',O<VAE970T-"YX;6Q02P$"% ,4    "  9@ Y7Y55.^X8"  !8
M!@  &0              @('A" $ >&PO=V]R:W-H965T<R]S:&5E=#0U+GAM
M;%!+ 0(4 Q0    ( !F #E=[ K9HA0(  $8&   9              " @9X+
M 0!X;"]W;W)K<VAE971S+W-H965T-#8N>&UL4$L! A0#%     @ &8 .5Q60
M!Z2^!@  =2\  !D              ("!6@X! 'AL+W=O<FMS:&5E=',O<VAE
M970T-RYX;6Q02P$"% ,4    "  9@ Y7/LX1:G<"  "V!0  &0
M    @(%/%0$ >&PO=V]R:W-H965T<R]S:&5E=#0X+GAM;%!+ 0(4 Q0    (
M !F #E=VC0*_=0(  (L&   9              " @?T7 0!X;"]W;W)K<VAE
M971S+W-H965T-#DN>&UL4$L! A0#%     @ &8 .5^5EYXF! P  ^0T  !D
M             ("!J1H! 'AL+W=O<FMS:&5E=',O<VAE970U,"YX;6Q02P$"
M% ,4    "  9@ Y7M:6"(GH"   5!@  &0              @(%A'@$ >&PO
M=V]R:W-H965T<R]S:&5E=#4Q+GAM;%!+ 0(4 Q0    ( !F #E?/NJ!]>0(
M +T&   9              " @1(A 0!X;"]W;W)K<VAE971S+W-H965T-3(N
M>&UL4$L! A0#%     @ &8 .5^S9Q&\F @  \ 0  !D              ("!
MPB,! 'AL+W=O<FMS:&5E=',O<VAE970U,RYX;6Q02P$"% ,4    "  9@ Y7
MI?(:$(D#  !\"0  &0              @($?)@$ >&PO=V]R:W-H965T<R]S
M:&5E=#4T+GAM;%!+ 0(4 Q0    ( !F #E<$[TB+SP,  '0/   9
M      " @=\I 0!X;"]W;W)K<VAE971S+W-H965T-34N>&UL4$L! A0#%
M  @ &8 .5U@?5;'F @  ' <  !D              ("!Y2T! 'AL+W=O<FMS
M:&5E=',O<VAE970U-BYX;6Q02P$"% ,4    "  9@ Y7-]"F1<@*  #XG0
M&0              @($",0$ >&PO=V]R:W-H965T<R]S:&5E=#4W+GAM;%!+
M 0(4 Q0    ( !F #E=>@N-+/ 4  /,=   9              " @0$\ 0!X
M;"]W;W)K<VAE971S+W-H965T-3@N>&UL4$L! A0#%     @ &8 .5RS7590;
M P  L @  !D              ("!=$$! 'AL+W=O<FMS:&5E=',O<VAE970U
M.2YX;6Q02P$"% ,4    "  9@ Y7L F5(20%  "#)0  &0
M@('&1 $ >&PO=V]R:W-H965T<R]S:&5E=#8P+GAM;%!+ 0(4 Q0    ( !F
M#E>7":.Z)PX  )C5   9              " @2%* 0!X;"]W;W)K<VAE971S
M+W-H965T-C$N>&UL4$L! A0#%     @ &8 .5X;A()XU!0  $1X  !D
M         ("!?U@! 'AL+W=O<FMS:&5E=',O<VAE970V,BYX;6Q02P$"% ,4
M    "  9@ Y7T1P6"4$#   /"P  &0              @('K70$ >&PO=V]R
M:W-H965T<R]S:&5E=#8S+GAM;%!+ 0(4 Q0    ( !F #E<M#_-_2@4  *@>
M   9              " @6-A 0!X;"]W;W)K<VAE971S+W-H965T-C0N>&UL
M4$L! A0#%     @ &8 .5YU.TZ6* P  E0X  !D              ("!Y&8!
M 'AL+W=O<FMS:&5E=',O<VAE970V-2YX;6Q02P$"% ,4    "  9@ Y72I09
M.M($  !]'   &0              @(&E:@$ >&PO=V]R:W-H965T<R]S:&5E
M=#8V+GAM;%!+ 0(4 Q0    ( !F #E<*?R^T-0,  ,$)   9
M  " @:YO 0!X;"]W;W)K<VAE971S+W-H965T-C<N>&UL4$L! A0#%     @
M&8 .5]=@NWEI!   IQ4  !D              ("!&G,! 'AL+W=O<FMS:&5E
M=',O<VAE970V."YX;6Q02P$"% ,4    "  9@ Y7+*ME8@H'   _*P  &0
M            @(&Z=P$ >&PO=V]R:W-H965T<R]S:&5E=#8Y+GAM;%!+ 0(4
M Q0    ( !F #E=YX-(RE0,  .\0   9              " @?M^ 0!X;"]W
M;W)K<VAE971S+W-H965T-S N>&UL4$L! A0#%     @ &8 .5]A9V6OH @
M?0H  !D              ("!QX(! 'AL+W=O<FMS:&5E=',O<VAE970W,2YX
M;6Q02P$"% ,4    "  9@ Y7N 0@R4$#  "G"0  &0              @('F
MA0$ >&PO=V]R:W-H965T<R]S:&5E=#<R+GAM;%!+ 0(4 Q0    ( !F #E?P
M$;BU+@,  .X2   -              "  5Z) 0!X;"]S='EL97,N>&UL4$L!
M A0#%     @ &8 .5Y>*NQS     $P(   L              ( !MXP! %]R
M96QS+RYR96QS4$L! A0#%     @ &8 .5Z2(^-GE!0  4R\   \
M     ( !H(T! 'AL+W=O<FMB;V]K+GAM;%!+ 0(4 Q0    ( !F #E>L;5!7
M/ (  *\J   :              "  ;*3 0!X;"]?<F5L<R]W;W)K8F]O:RYX
M;6PN<F5L<U!+ 0(4 Q0    ( !F #E= :Q>Z  (  ,8I   3
M  "  2:6 0!;0V]N=&5N=%]4>7!E<UTN>&UL4$L%!@    !0 %  YQ4  %>8
$ 0    $!

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>84
<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>85
<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>86
<FILENAME>FilingSummary.xml
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<XML>
<?xml version='1.0' encoding='utf-8'?>
<FilingSummary>
  <Version>3.23.2</Version>
  <ProcessingTime/>
  <ReportFormat>html</ReportFormat>
  <ContextCount>295</ContextCount>
  <ElementCount>325</ElementCount>
  <EntityCount>1</EntityCount>
  <FootnotesReported>false</FootnotesReported>
  <SegmentCount>84</SegmentCount>
  <ScenarioCount>0</ScenarioCount>
  <TuplesReported>false</TuplesReported>
  <UnitCount>7</UnitCount>
  <MyReports>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R1.htm</HtmlFileName>
      <LongName>00000001 - Document - Cover</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/Cover</Role>
      <ShortName>Cover</ShortName>
      <MenuCategory>Cover</MenuCategory>
      <Position>1</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R2.htm</HtmlFileName>
      <LongName>00000002 - Statement - Condensed Interim Consolidated Balance Sheets</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/InterimConsolidatedBalanceSheets</Role>
      <ShortName>Condensed Interim Consolidated Balance Sheets</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>2</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R3.htm</HtmlFileName>
      <LongName>00000003 - Statement - Condensed Interim Consolidated Balance Sheets (Parenthetical)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/InterimConsolidatedBalanceSheetsParenthetical</Role>
      <ShortName>Condensed Interim Consolidated Balance Sheets (Parenthetical)</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>3</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R4.htm</HtmlFileName>
      <LongName>00000004 - Statement - Condensed Interim Consolidated Statements of Operations and Comprehensive Income (Unaudited)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfOperationsAndComprehensiveIncome</Role>
      <ShortName>Condensed Interim Consolidated Statements of Operations and Comprehensive Income (Unaudited)</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>4</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R5.htm</HtmlFileName>
      <LongName>00000005 - Statement - Condensed Interim Consolidated Statements of Cash Flows (Unaudited)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfCashFlows</Role>
      <ShortName>Condensed Interim Consolidated Statements of Cash Flows (Unaudited)</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>5</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R6.htm</HtmlFileName>
      <LongName>00000006 - Statement - Condensed Interim Consolidated Statements of Stockholders' Equity (Unaudited)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfStockholdersEquity</Role>
      <ShortName>Condensed Interim Consolidated Statements of Stockholders' Equity (Unaudited)</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>6</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R7.htm</HtmlFileName>
      <LongName>00000007 - Disclosure - BASIS OF PRESENTATION</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/BasisOfPresentation</Role>
      <ShortName>BASIS OF PRESENTATION</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>7</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R8.htm</HtmlFileName>
      <LongName>00000008 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/SignificantAccountingPolicies</Role>
      <ShortName>SIGNIFICANT ACCOUNTING POLICIES</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>8</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R9.htm</HtmlFileName>
      <LongName>00000009 - Disclosure - LEASES.</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/Leases.</Role>
      <ShortName>LEASES.</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>9</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R10.htm</HtmlFileName>
      <LongName>00000010 - Disclosure - ACCOUNTS RECEIVABLE.</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/AccountsReceivable.</Role>
      <ShortName>ACCOUNTS RECEIVABLE.</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>10</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R11.htm</HtmlFileName>
      <LongName>00000011 - Disclosure - INVENTORIES.</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/Inventories.</Role>
      <ShortName>INVENTORIES.</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>11</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R12.htm</HtmlFileName>
      <LongName>00000012 - Disclosure - PROPERTY, EQUIPMENT &amp; LEASEHOLDS.</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/PropertyEquipmentLeaseholds.</Role>
      <ShortName>PROPERTY, EQUIPMENT &amp; LEASEHOLDS.</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>12</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R13.htm</HtmlFileName>
      <LongName>00000013 - Disclosure - PATENTS.</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/Patents.</Role>
      <ShortName>PATENTS.</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>13</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R14.htm</HtmlFileName>
      <LongName>00000014 - Disclosure - GOODWILL AND INDEFINITE LIVED INTANGIBLE ASSETS.</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/GoodwillAndIndefiniteLivedIntangibleAssets.</Role>
      <ShortName>GOODWILL AND INDEFINITE LIVED INTANGIBLE ASSETS.</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>14</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R15.htm</HtmlFileName>
      <LongName>00000015 - Disclosure - LONG TERM DEPOSITS.</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/LongTermDeposits.</Role>
      <ShortName>LONG TERM DEPOSITS.</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>15</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R16.htm</HtmlFileName>
      <LongName>00000016 - Disclosure - INVESTMENTS.</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/Investments.</Role>
      <ShortName>INVESTMENTS.</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>16</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R17.htm</HtmlFileName>
      <LongName>00000017 - Disclosure - SHORT-TERM LINE OF CREDIT.</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/Short-termLineOfCredit.</Role>
      <ShortName>SHORT-TERM LINE OF CREDIT.</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>17</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R18.htm</HtmlFileName>
      <LongName>00000018 - Disclosure - LONG TERM DEBT.</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/LongTermDebt.</Role>
      <ShortName>LONG TERM DEBT.</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>18</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R19.htm</HtmlFileName>
      <LongName>00000019 - Disclosure - STOCK OPTIONS.</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/StockOptions.</Role>
      <ShortName>STOCK OPTIONS.</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>19</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R20.htm</HtmlFileName>
      <LongName>00000020 - Disclosure - CAPITAL STOCK</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/CapitalStock</Role>
      <ShortName>CAPITAL STOCK</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>20</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R21.htm</HtmlFileName>
      <LongName>00000021 - Disclosure - NON-CONTROLLING INTERESTS</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/Non-controllingInterests</Role>
      <ShortName>NON-CONTROLLING INTERESTS</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>21</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R22.htm</HtmlFileName>
      <LongName>00000022 - Disclosure - SEGMENTED, SIGNIFICANT CUSTOMER INFORMATION AND ECONOMIC DEPENDENCY</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/SegmentedSignificantCustomerInformationAndEconomicDependency</Role>
      <ShortName>SEGMENTED, SIGNIFICANT CUSTOMER INFORMATION AND ECONOMIC DEPENDENCY</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>22</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R23.htm</HtmlFileName>
      <LongName>00000023 - Disclosure - COMPARATIVE FIGURES</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/ComparativeFigures</Role>
      <ShortName>COMPARATIVE FIGURES</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>23</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R24.htm</HtmlFileName>
      <LongName>00000024 - Disclosure - SUBSEQUENT EVENTS</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/SubsequentEvents</Role>
      <ShortName>SUBSEQUENT EVENTS</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>24</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R25.htm</HtmlFileName>
      <LongName>00000025 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES (Policies)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/SignificantAccountingPoliciesPolicies</Role>
      <ShortName>SIGNIFICANT ACCOUNTING POLICIES (Policies)</ShortName>
      <MenuCategory>Policies</MenuCategory>
      <Position>25</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R26.htm</HtmlFileName>
      <LongName>00000026 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/SignificantAccountingPoliciesTables</Role>
      <ShortName>SIGNIFICANT ACCOUNTING POLICIES (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://flexiblesolutions.com/role/SignificantAccountingPolicies</ParentRole>
      <Position>26</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R27.htm</HtmlFileName>
      <LongName>00000027 - Disclosure - LEASES. (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/Leases.Tables</Role>
      <ShortName>LEASES. (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://flexiblesolutions.com/role/Leases.</ParentRole>
      <Position>27</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R28.htm</HtmlFileName>
      <LongName>00000028 - Disclosure - ACCOUNTS RECEIVABLE. (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/AccountsReceivable.Tables</Role>
      <ShortName>ACCOUNTS RECEIVABLE. (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://flexiblesolutions.com/role/AccountsReceivable.</ParentRole>
      <Position>28</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R29.htm</HtmlFileName>
      <LongName>00000029 - Disclosure - INVENTORIES. (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/Inventories.Tables</Role>
      <ShortName>INVENTORIES. (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://flexiblesolutions.com/role/Inventories.</ParentRole>
      <Position>29</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R30.htm</HtmlFileName>
      <LongName>00000030 - Disclosure - PROPERTY, EQUIPMENT &amp; LEASEHOLDS. (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/PropertyEquipmentLeaseholds.Tables</Role>
      <ShortName>PROPERTY, EQUIPMENT &amp; LEASEHOLDS. (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://flexiblesolutions.com/role/PropertyEquipmentLeaseholds.</ParentRole>
      <Position>30</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R31.htm</HtmlFileName>
      <LongName>00000031 - Disclosure - PATENTS. (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/Patents.Tables</Role>
      <ShortName>PATENTS. (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://flexiblesolutions.com/role/Patents.</ParentRole>
      <Position>31</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R32.htm</HtmlFileName>
      <LongName>00000032 - Disclosure - GOODWILL AND INDEFINITE LIVED INTANGIBLE ASSETS. (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/GoodwillAndIndefiniteLivedIntangibleAssets.Tables</Role>
      <ShortName>GOODWILL AND INDEFINITE LIVED INTANGIBLE ASSETS. (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://flexiblesolutions.com/role/GoodwillAndIndefiniteLivedIntangibleAssets.</ParentRole>
      <Position>32</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R33.htm</HtmlFileName>
      <LongName>00000033 - Disclosure - LONG TERM DEPOSITS. (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/LongTermDeposits.Tables</Role>
      <ShortName>LONG TERM DEPOSITS. (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://flexiblesolutions.com/role/LongTermDeposits.</ParentRole>
      <Position>33</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R34.htm</HtmlFileName>
      <LongName>00000034 - Disclosure - INVESTMENTS. (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/Investments.Tables</Role>
      <ShortName>INVESTMENTS. (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://flexiblesolutions.com/role/Investments.</ParentRole>
      <Position>34</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R35.htm</HtmlFileName>
      <LongName>00000035 - Disclosure - LONG TERM DEBT. (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/LongTermDebt.Tables</Role>
      <ShortName>LONG TERM DEBT. (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://flexiblesolutions.com/role/LongTermDeposits.</ParentRole>
      <Position>35</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R36.htm</HtmlFileName>
      <LongName>00000036 - Disclosure - STOCK OPTIONS. (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/StockOptions.Tables</Role>
      <ShortName>STOCK OPTIONS. (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://flexiblesolutions.com/role/StockOptions.</ParentRole>
      <Position>36</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R37.htm</HtmlFileName>
      <LongName>00000037 - Disclosure - NON-CONTROLLING INTERESTS (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/Non-controllingInterestsTables</Role>
      <ShortName>NON-CONTROLLING INTERESTS (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://flexiblesolutions.com/role/Non-controllingInterests</ParentRole>
      <Position>37</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R38.htm</HtmlFileName>
      <LongName>00000038 - Disclosure - SEGMENTED, SIGNIFICANT CUSTOMER INFORMATION AND ECONOMIC DEPENDENCY (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/SegmentedSignificantCustomerInformationAndEconomicDependencyTables</Role>
      <ShortName>SEGMENTED, SIGNIFICANT CUSTOMER INFORMATION AND ECONOMIC DEPENDENCY (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://flexiblesolutions.com/role/SegmentedSignificantCustomerInformationAndEconomicDependency</ParentRole>
      <Position>38</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R39.htm</HtmlFileName>
      <LongName>00000039 - Disclosure - BASIS OF PRESENTATION (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/BasisOfPresentationDetailsNarrative</Role>
      <ShortName>BASIS OF PRESENTATION (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://flexiblesolutions.com/role/BasisOfPresentation</ParentRole>
      <Position>39</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R40.htm</HtmlFileName>
      <LongName>00000040 - Disclosure - SCHEDULE OF METHOD OF DEPRECIATION (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/ScheduleOfMethodOfDepreciationDetails</Role>
      <ShortName>SCHEDULE OF METHOD OF DEPRECIATION (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>40</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R41.htm</HtmlFileName>
      <LongName>00000041 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/SignificantAccountingPoliciesDetailsNarrative</Role>
      <ShortName>SIGNIFICANT ACCOUNTING POLICIES (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://flexiblesolutions.com/role/SignificantAccountingPoliciesTables</ParentRole>
      <Position>41</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R42.htm</HtmlFileName>
      <LongName>00000042 - Disclosure - SUMMARY OF RIGHT-OF-USE ASSET AND LEASE LIABILITY (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/SummaryOfRight-of-useAssetAndLeaseLiabilityDetails</Role>
      <ShortName>SUMMARY OF RIGHT-OF-USE ASSET AND LEASE LIABILITY (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>42</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R43.htm</HtmlFileName>
      <LongName>00000043 - Disclosure - SCHEDULE OF UNDISCOUNTED RENT PAYMENTS (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/ScheduleOfUndiscountedRentPaymentsDetails</Role>
      <ShortName>SCHEDULE OF UNDISCOUNTED RENT PAYMENTS (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>43</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R44.htm</HtmlFileName>
      <LongName>00000044 - Disclosure - LEASES. (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/Leases.DetailsNarrative</Role>
      <ShortName>LEASES. (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://flexiblesolutions.com/role/Leases.Tables</ParentRole>
      <Position>44</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R45.htm</HtmlFileName>
      <LongName>00000045 - Disclosure - SCHEDULE OF ACCOUNTS RECEIVABLE (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/ScheduleOfAccountsReceivableDetails</Role>
      <ShortName>SCHEDULE OF ACCOUNTS RECEIVABLE (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>45</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R46.htm</HtmlFileName>
      <LongName>00000046 - Disclosure - SCHEDULE OF INVENTORY (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/ScheduleOfInventoryDetails</Role>
      <ShortName>SCHEDULE OF INVENTORY (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>46</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R47.htm</HtmlFileName>
      <LongName>00000047 - Disclosure - SCHEDULE OF PROPERTY, EQUIPMENT AND LEASEHOLDS (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/ScheduleOfPropertyEquipmentAndLeaseholdsDetails</Role>
      <ShortName>SCHEDULE OF PROPERTY, EQUIPMENT AND LEASEHOLDS (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>47</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R48.htm</HtmlFileName>
      <LongName>00000048 - Disclosure - PROPERTY, EQUIPMENT &amp; LEASEHOLDS. (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/PropertyEquipmentLeaseholds.DetailsNarrative</Role>
      <ShortName>PROPERTY, EQUIPMENT &amp; LEASEHOLDS. (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://flexiblesolutions.com/role/PropertyEquipmentLeaseholds.Tables</ParentRole>
      <Position>48</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R49.htm</HtmlFileName>
      <LongName>00000049 - Disclosure - SCHEDULE OF PATENTS (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/ScheduleOfPatentsDetails</Role>
      <ShortName>SCHEDULE OF PATENTS (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>49</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R50.htm</HtmlFileName>
      <LongName>00000050 - Disclosure - SCHEDULE OF GOODWILL AND INDEFINITE LIVED INTANGIBLE ASSETS (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/ScheduleOfGoodwillAndIndefiniteLivedIntangibleAssetsDetails</Role>
      <ShortName>SCHEDULE OF GOODWILL AND INDEFINITE LIVED INTANGIBLE ASSETS (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>50</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R51.htm</HtmlFileName>
      <LongName>00000051 - Disclosure - SCHEDULE OF ESTIMATED FUTURE AMORTIZATION EXPENSE (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/ScheduleOfEstimatedFutureAmortizationExpenseDetails</Role>
      <ShortName>SCHEDULE OF ESTIMATED FUTURE AMORTIZATION EXPENSE (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>51</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R52.htm</HtmlFileName>
      <LongName>00000052 - Disclosure - PATENTS. (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/Patents.DetailsNarrative</Role>
      <ShortName>PATENTS. (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://flexiblesolutions.com/role/Patents.Tables</ParentRole>
      <Position>52</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R53.htm</HtmlFileName>
      <LongName>00000053 - Disclosure - SCHEDULE OF LONG TERM DEPOSITS (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/ScheduleOfLongTermDepositsDetails</Role>
      <ShortName>SCHEDULE OF LONG TERM DEPOSITS (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>53</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R54.htm</HtmlFileName>
      <LongName>00000054 - Disclosure - SCHEDULE OF FAIR VALUES OF THE ASSETS ACQUIRED AND LIABILITIES ASSUMED (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/ScheduleOfFairValuesOfAssetsAcquiredAndLiabilitiesAssumedDetails</Role>
      <ShortName>SCHEDULE OF FAIR VALUES OF THE ASSETS ACQUIRED AND LIABILITIES ASSUMED (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>54</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R55.htm</HtmlFileName>
      <LongName>00000055 - Disclosure - SCHEDULE OF EQUITY METHOD INVESTMENT (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/ScheduleOfEquityMethodInvestmentDetails</Role>
      <ShortName>SCHEDULE OF EQUITY METHOD INVESTMENT (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>55</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R56.htm</HtmlFileName>
      <LongName>00000056 - Disclosure - SUMMARY OF PROFIT AND LOSS INFORMATION RELATED TO EQUITY ACCOUNTED INVESTMENT (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/SummaryOfProfitAndLossInformationRelatedToEquityAccountedInvestmentDetails</Role>
      <ShortName>SUMMARY OF PROFIT AND LOSS INFORMATION RELATED TO EQUITY ACCOUNTED INVESTMENT (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>56</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R57.htm</HtmlFileName>
      <LongName>00000057 - Disclosure - INVESTMENTS. (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/Investments.DetailsNarrative</Role>
      <ShortName>INVESTMENTS. (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://flexiblesolutions.com/role/Investments.Tables</ParentRole>
      <Position>57</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R58.htm</HtmlFileName>
      <LongName>00000058 - Disclosure - SHORT-TERM LINE OF CREDIT. (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/Short-termLineOfCredit.DetailsNarrative</Role>
      <ShortName>SHORT-TERM LINE OF CREDIT. (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://flexiblesolutions.com/role/Short-termLineOfCredit.</ParentRole>
      <Position>58</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R59.htm</HtmlFileName>
      <LongName>00000059 - Disclosure - SCHEDULE OF LOAN COVENANTS (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/ScheduleOfLoanCovenantsDetails</Role>
      <ShortName>SCHEDULE OF LOAN COVENANTS (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>59</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R60.htm</HtmlFileName>
      <LongName>00000060 - Disclosure - SCHEDULE OF OUTSTANDING BALANCE LOAN (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/ScheduleOfOutstandingBalanceLoanDetails</Role>
      <ShortName>SCHEDULE OF OUTSTANDING BALANCE LOAN (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>60</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R61.htm</HtmlFileName>
      <LongName>00000061 - Disclosure - LONG TERM DEBT. (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/LongTermDebt.DetailsNarrative</Role>
      <ShortName>LONG TERM DEBT. (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://flexiblesolutions.com/role/LongTermDeposits.Tables</ParentRole>
      <Position>61</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R62.htm</HtmlFileName>
      <LongName>00000062 - Disclosure - SCHEDULE OF STOCK OPTION ACTIVITIES (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/ScheduleOfStockOptionActivitiesDetails</Role>
      <ShortName>SCHEDULE OF STOCK OPTION ACTIVITIES (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>62</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R63.htm</HtmlFileName>
      <LongName>00000063 - Disclosure - SCHEDULE OF STOCK OPTION FAIR VALUE ASSUMPTIONS (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/ScheduleOfStockOptionFairValueAssumptionsDetails</Role>
      <ShortName>SCHEDULE OF STOCK OPTION FAIR VALUE ASSUMPTIONS (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>63</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R64.htm</HtmlFileName>
      <LongName>00000064 - Disclosure - STOCK OPTIONS. (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/StockOptions.DetailsNarrative</Role>
      <ShortName>STOCK OPTIONS. (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://flexiblesolutions.com/role/StockOptions.Tables</ParentRole>
      <Position>64</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R65.htm</HtmlFileName>
      <LongName>00000065 - Disclosure - CAPITAL STOCK (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/CapitalStockDetailsNarrative</Role>
      <ShortName>CAPITAL STOCK (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://flexiblesolutions.com/role/CapitalStock</ParentRole>
      <Position>65</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R66.htm</HtmlFileName>
      <LongName>00000066 - Disclosure - SCHEDULE OF DISTRIBUTIONS (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/ScheduleOfDistributionsDetails</Role>
      <ShortName>SCHEDULE OF DISTRIBUTIONS (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>66</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R67.htm</HtmlFileName>
      <LongName>00000067 - Disclosure - SCHEDULE OF NON CONTROLLING INTEREST RELATED TO ACQUISITION (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/ScheduleOfNonControllingInterestRelatedToAcquisitionDetails</Role>
      <ShortName>SCHEDULE OF NON CONTROLLING INTEREST RELATED TO ACQUISITION (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>67</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R68.htm</HtmlFileName>
      <LongName>00000068 - Disclosure - NON-CONTROLLING INTERESTS (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/Non-controllingInterestsDetailsNarrative</Role>
      <ShortName>NON-CONTROLLING INTERESTS (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://flexiblesolutions.com/role/Non-controllingInterestsTables</ParentRole>
      <Position>68</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R69.htm</HtmlFileName>
      <LongName>00000069 - Disclosure - SCHEDULE OF REPORTABLE SEGMENTS (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/ScheduleOfReportableSegmentsDetails</Role>
      <ShortName>SCHEDULE OF REPORTABLE SEGMENTS (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>69</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R70.htm</HtmlFileName>
      <LongName>00000070 - Disclosure - SCHEDULE OF REVENUE GENERATED IN UNITED STATES AND CANADA (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/ScheduleOfRevenueGeneratedInUnitedStatesAndCanadaDetails</Role>
      <ShortName>SCHEDULE OF REVENUE GENERATED IN UNITED STATES AND CANADA (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>70</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R71.htm</HtmlFileName>
      <LongName>00000071 - Disclosure - SCHEDULE OF LONG-LIVED ASSETS ARE LOCATED IN CANADA AND UNITED STATES (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/ScheduleOfLong-livedAssetsAreLocatedInCanadaAndUnitedStatesDetails</Role>
      <ShortName>SCHEDULE OF LONG-LIVED ASSETS ARE LOCATED IN CANADA AND UNITED STATES (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>71</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R72.htm</HtmlFileName>
      <LongName>00000072 - Disclosure - SEGMENTED, SIGNIFICANT CUSTOMER INFORMATION AND ECONOMIC DEPENDENCY (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/SegmentedSignificantCustomerInformationAndEconomicDependencyDetailsNarrative</Role>
      <ShortName>SEGMENTED, SIGNIFICANT CUSTOMER INFORMATION AND ECONOMIC DEPENDENCY (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://flexiblesolutions.com/role/SegmentedSignificantCustomerInformationAndEconomicDependencyTables</ParentRole>
      <Position>72</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-Q" original="form10-q.htm">form10-q.htm</File>
    <File>ex31-1.htm</File>
    <File>ex31-2.htm</File>
    <File>ex32-1.htm</File>
    <File>fsi-20230630.xsd</File>
    <File>fsi-20230630_cal.xml</File>
    <File>fsi-20230630_def.xml</File>
    <File>fsi-20230630_lab.xml</File>
    <File>fsi-20230630_pre.xml</File>
  </InputFiles>
  <SupplementalFiles/>
  <BaseTaxonomies>
    <BaseTaxonomy items="991">http://fasb.org/us-gaap/2023</BaseTaxonomy>
    <BaseTaxonomy items="30">http://xbrl.sec.gov/dei/2023</BaseTaxonomy>
  </BaseTaxonomies>
  <HasPresentationLinkbase>true</HasPresentationLinkbase>
  <HasCalculationLinkbase>true</HasCalculationLinkbase>
</FilingSummary>
</XML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>JSON
<SEQUENCE>89
<FILENAME>MetaLinks.json
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
{
 "instance": {
  "form10-q.htm": {
   "axisCustom": 0,
   "axisStandard": 23,
   "baseTaxonomies": {
    "http://fasb.org/us-gaap/2023": 991,
    "http://xbrl.sec.gov/dei/2023": 30
   },
   "contextCount": 295,
   "dts": {
    "calculationLink": {
     "local": [
      "fsi-20230630_cal.xml"
     ]
    },
    "definitionLink": {
     "local": [
      "fsi-20230630_def.xml"
     ]
    },
    "inline": {
     "local": [
      "form10-q.htm"
     ]
    },
    "labelLink": {
     "local": [
      "fsi-20230630_lab.xml"
     ]
    },
    "presentationLink": {
     "local": [
      "fsi-20230630_pre.xml"
     ]
    },
    "schema": {
     "local": [
      "fsi-20230630.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://www.xbrl.org/dtr/type/2022-03-31/types.xsd",
      "https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd",
      "https://xbrl.fasb.org/srt/2023/elts/srt-roles-2023.xsd",
      "https://xbrl.fasb.org/srt/2023/elts/srt-types-2023.xsd",
      "https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd",
      "https://xbrl.fasb.org/us-gaap/2023/elts/us-roles-2023.xsd",
      "https://xbrl.fasb.org/us-gaap/2023/elts/us-types-2023.xsd",
      "https://xbrl.sec.gov/country/2023/country-2023.xsd",
      "https://xbrl.sec.gov/dei/2023/dei-2023.xsd"
     ]
    }
   },
   "elementCount": 542,
   "entityCount": 1,
   "hidden": {
    "http://fasb.org/us-gaap/2023": 122,
    "http://flexiblesolutions.com/20230630": 7,
    "http://xbrl.sec.gov/dei/2023": 5,
    "total": 134
   },
   "keyCustom": 45,
   "keyStandard": 280,
   "memberCustom": 49,
   "memberStandard": 29,
   "nsprefix": "FSI",
   "nsuri": "http://flexiblesolutions.com/20230630",
   "report": {
    "R1": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "b",
       "span",
       "p",
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "From2023-01-01to2023-06-30",
      "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",
     "menuCat": "Cover",
     "order": "1",
     "role": "http://flexiblesolutions.com/role/Cover",
     "shortName": "Cover",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "b",
       "span",
       "p",
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "From2023-01-01to2023-06-30",
      "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-q.htm",
      "contextRef": "From2023-01-01to2023-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:FinancingReceivablesTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000010 - Disclosure - ACCOUNTS RECEIVABLE.",
     "menuCat": "Notes",
     "order": "10",
     "role": "http://flexiblesolutions.com/role/AccountsReceivable.",
     "shortName": "ACCOUNTS RECEIVABLE.",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "From2023-01-01to2023-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:FinancingReceivablesTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R11": {
     "firstAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "From2023-01-01to2023-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:InventoryDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000011 - Disclosure - INVENTORIES.",
     "menuCat": "Notes",
     "order": "11",
     "role": "http://flexiblesolutions.com/role/Inventories.",
     "shortName": "INVENTORIES.",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "From2023-01-01to2023-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:InventoryDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R12": {
     "firstAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "From2023-01-01to2023-06-30",
      "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, EQUIPMENT & LEASEHOLDS.",
     "menuCat": "Notes",
     "order": "12",
     "role": "http://flexiblesolutions.com/role/PropertyEquipmentLeaseholds.",
     "shortName": "PROPERTY, EQUIPMENT & LEASEHOLDS.",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "From2023-01-01to2023-06-30",
      "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-q.htm",
      "contextRef": "From2023-01-01to2023-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:IntangibleAssetsDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000013 - Disclosure - PATENTS.",
     "menuCat": "Notes",
     "order": "13",
     "role": "http://flexiblesolutions.com/role/Patents.",
     "shortName": "PATENTS.",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "From2023-01-01to2023-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:IntangibleAssetsDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R14": {
     "firstAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "From2023-01-01to2023-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000014 - Disclosure - GOODWILL AND INDEFINITE LIVED INTANGIBLE ASSETS.",
     "menuCat": "Notes",
     "order": "14",
     "role": "http://flexiblesolutions.com/role/GoodwillAndIndefiniteLivedIntangibleAssets.",
     "shortName": "GOODWILL AND INDEFINITE LIVED INTANGIBLE ASSETS.",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "From2023-01-01to2023-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R15": {
     "firstAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "From2023-01-01to2023-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "FSI:LongTermDepositsTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000015 - Disclosure - LONG TERM DEPOSITS.",
     "menuCat": "Notes",
     "order": "15",
     "role": "http://flexiblesolutions.com/role/LongTermDeposits.",
     "shortName": "LONG TERM DEPOSITS.",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "From2023-01-01to2023-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "FSI:LongTermDepositsTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R16": {
     "firstAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "From2023-01-01to2023-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:EquityMethodInvestmentsDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000016 - Disclosure - INVESTMENTS.",
     "menuCat": "Notes",
     "order": "16",
     "role": "http://flexiblesolutions.com/role/Investments.",
     "shortName": "INVESTMENTS.",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "From2023-01-01to2023-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:EquityMethodInvestmentsDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R17": {
     "firstAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "From2023-01-01to2023-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ShortTermDebtTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000017 - Disclosure - SHORT-TERM LINE OF CREDIT.",
     "menuCat": "Notes",
     "order": "17",
     "role": "http://flexiblesolutions.com/role/Short-termLineOfCredit.",
     "shortName": "SHORT-TERM LINE OF CREDIT.",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "From2023-01-01to2023-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ShortTermDebtTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R18": {
     "firstAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "From2023-01-01to2023-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:LongTermDebtTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000018 - Disclosure - LONG TERM DEBT.",
     "menuCat": "Notes",
     "order": "18",
     "role": "http://flexiblesolutions.com/role/LongTermDebt.",
     "shortName": "LONG TERM DEBT.",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "From2023-01-01to2023-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:LongTermDebtTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R19": {
     "firstAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "From2023-01-01to2023-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000019 - Disclosure - STOCK OPTIONS.",
     "menuCat": "Notes",
     "order": "19",
     "role": "http://flexiblesolutions.com/role/StockOptions.",
     "shortName": "STOCK OPTIONS.",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "From2023-01-01to2023-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R2": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "AsOf2023-06-30",
      "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 - Condensed Interim Consolidated Balance Sheets",
     "menuCat": "Statements",
     "order": "2",
     "role": "http://flexiblesolutions.com/role/InterimConsolidatedBalanceSheets",
     "shortName": "Condensed Interim Consolidated Balance Sheets",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "AsOf2023-06-30",
      "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-q.htm",
      "contextRef": "From2023-01-01to2023-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:StockholdersEquityNoteDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000020 - Disclosure - CAPITAL STOCK",
     "menuCat": "Notes",
     "order": "20",
     "role": "http://flexiblesolutions.com/role/CapitalStock",
     "shortName": "CAPITAL STOCK",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "From2023-01-01to2023-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:StockholdersEquityNoteDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R21": {
     "firstAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "From2023-01-01to2023-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:MinorityInterestDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000021 - Disclosure - NON-CONTROLLING INTERESTS",
     "menuCat": "Notes",
     "order": "21",
     "role": "http://flexiblesolutions.com/role/Non-controllingInterests",
     "shortName": "NON-CONTROLLING INTERESTS",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "From2023-01-01to2023-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:MinorityInterestDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R22": {
     "firstAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "From2023-01-01to2023-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:SegmentReportingDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000022 - Disclosure - SEGMENTED, SIGNIFICANT CUSTOMER INFORMATION AND ECONOMIC DEPENDENCY",
     "menuCat": "Notes",
     "order": "22",
     "role": "http://flexiblesolutions.com/role/SegmentedSignificantCustomerInformationAndEconomicDependency",
     "shortName": "SEGMENTED, SIGNIFICANT CUSTOMER INFORMATION AND ECONOMIC DEPENDENCY",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "From2023-01-01to2023-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:SegmentReportingDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R23": {
     "firstAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "From2023-01-01to2023-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "FSI:ComparativeFiguresTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000023 - Disclosure - COMPARATIVE FIGURES",
     "menuCat": "Notes",
     "order": "23",
     "role": "http://flexiblesolutions.com/role/ComparativeFigures",
     "shortName": "COMPARATIVE FIGURES",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "From2023-01-01to2023-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "FSI:ComparativeFiguresTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R24": {
     "firstAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "From2023-01-01to2023-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:SubsequentEventsTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000024 - Disclosure - SUBSEQUENT EVENTS",
     "menuCat": "Notes",
     "order": "24",
     "role": "http://flexiblesolutions.com/role/SubsequentEvents",
     "shortName": "SUBSEQUENT EVENTS",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "From2023-01-01to2023-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:SubsequentEventsTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R25": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:SignificantAccountingPoliciesTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "From2023-01-01to2023-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:CashAndCashEquivalentsPolicyTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000025 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES (Policies)",
     "menuCat": "Policies",
     "order": "25",
     "role": "http://flexiblesolutions.com/role/SignificantAccountingPoliciesPolicies",
     "shortName": "SIGNIFICANT ACCOUNTING POLICIES (Policies)",
     "subGroupType": "policies",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:SignificantAccountingPoliciesTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "From2023-01-01to2023-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:CashAndCashEquivalentsPolicyTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R26": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:PropertyPlantAndEquipmentPolicyTextBlock",
       "us-gaap:SignificantAccountingPoliciesTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "From2023-01-01to2023-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "FSI:ScheduleOfMethodOfDepreciationTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000026 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES (Tables)",
     "menuCat": "Tables",
     "order": "26",
     "role": "http://flexiblesolutions.com/role/SignificantAccountingPoliciesTables",
     "shortName": "SIGNIFICANT ACCOUNTING POLICIES (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:PropertyPlantAndEquipmentPolicyTextBlock",
       "us-gaap:SignificantAccountingPoliciesTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "From2023-01-01to2023-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "FSI:ScheduleOfMethodOfDepreciationTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R27": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:LesseeOperatingLeasesTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "From2023-01-01to2023-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "FSI:SummaryOfRightofuseAssetAndLeaseLiabilityTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000027 - Disclosure - LEASES. (Tables)",
     "menuCat": "Tables",
     "order": "27",
     "role": "http://flexiblesolutions.com/role/Leases.Tables",
     "shortName": "LEASES. (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:LesseeOperatingLeasesTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "From2023-01-01to2023-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "FSI:SummaryOfRightofuseAssetAndLeaseLiabilityTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R28": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:FinancingReceivablesTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "From2023-01-01to2023-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:AccountsReceivableAllowanceForCreditLossTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000028 - Disclosure - ACCOUNTS RECEIVABLE. (Tables)",
     "menuCat": "Tables",
     "order": "28",
     "role": "http://flexiblesolutions.com/role/AccountsReceivable.Tables",
     "shortName": "ACCOUNTS RECEIVABLE. (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:FinancingReceivablesTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "From2023-01-01to2023-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:AccountsReceivableAllowanceForCreditLossTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R29": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:InventoryDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "From2023-01-01to2023-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000029 - Disclosure - INVENTORIES. (Tables)",
     "menuCat": "Tables",
     "order": "29",
     "role": "http://flexiblesolutions.com/role/Inventories.Tables",
     "shortName": "INVENTORIES. (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:InventoryDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "From2023-01-01to2023-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R3": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "span",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "AsOf2023-06-30",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:CommonStockSharesAuthorized",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Shares",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "00000003 - Statement - Condensed Interim Consolidated Balance Sheets (Parenthetical)",
     "menuCat": "Statements",
     "order": "3",
     "role": "http://flexiblesolutions.com/role/InterimConsolidatedBalanceSheetsParenthetical",
     "shortName": "Condensed Interim Consolidated Balance Sheets (Parenthetical)",
     "subGroupType": "parenthetical",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "span",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "AsOf2023-06-30",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:CommonStockSharesAuthorized",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Shares",
      "xsiNil": "false"
     }
    },
    "R30": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "From2023-01-01to2023-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:PropertyPlantAndEquipmentTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000030 - Disclosure - PROPERTY, EQUIPMENT & LEASEHOLDS. (Tables)",
     "menuCat": "Tables",
     "order": "30",
     "role": "http://flexiblesolutions.com/role/PropertyEquipmentLeaseholds.Tables",
     "shortName": "PROPERTY, EQUIPMENT & LEASEHOLDS. (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "From2023-01-01to2023-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:PropertyPlantAndEquipmentTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R31": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:IntangibleAssetsDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "From2023-01-01to2023-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000031 - Disclosure - PATENTS. (Tables)",
     "menuCat": "Tables",
     "order": "31",
     "role": "http://flexiblesolutions.com/role/Patents.Tables",
     "shortName": "PATENTS. (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:IntangibleAssetsDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "From2023-01-01to2023-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R32": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "From2023-01-01to2023-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfIntangibleAssetsAndGoodwillTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000032 - Disclosure - GOODWILL AND INDEFINITE LIVED INTANGIBLE ASSETS. (Tables)",
     "menuCat": "Tables",
     "order": "32",
     "role": "http://flexiblesolutions.com/role/GoodwillAndIndefiniteLivedIntangibleAssets.Tables",
     "shortName": "GOODWILL AND INDEFINITE LIVED INTANGIBLE ASSETS. (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "From2023-01-01to2023-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfIntangibleAssetsAndGoodwillTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R33": {
     "firstAnchor": {
      "ancestors": [
       "FSI:LongTermDepositsTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "From2023-01-01to2023-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "FSI:ScheduleOfLongTermDepositsTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000033 - Disclosure - LONG TERM DEPOSITS. (Tables)",
     "menuCat": "Tables",
     "order": "33",
     "role": "http://flexiblesolutions.com/role/LongTermDeposits.Tables",
     "shortName": "LONG TERM DEPOSITS. (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "FSI:LongTermDepositsTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "From2023-01-01to2023-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "FSI:ScheduleOfLongTermDepositsTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R34": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:EquityMethodInvestmentsDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "From2023-01-012023-06-30_custom_EnpPeruInvestmentsLlcMember418055859",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000034 - Disclosure - INVESTMENTS. (Tables)",
     "menuCat": "Tables",
     "order": "34",
     "role": "http://flexiblesolutions.com/role/Investments.Tables",
     "shortName": "INVESTMENTS. (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:EquityMethodInvestmentsDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "From2023-01-012023-06-30_custom_EnpPeruInvestmentsLlcMember418055859",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R35": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:LongTermDebtTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "From2023-01-01to2023-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "FSI:ScheduleOfLoanCovenantsTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000035 - Disclosure - LONG TERM DEBT. (Tables)",
     "menuCat": "Tables",
     "order": "35",
     "role": "http://flexiblesolutions.com/role/LongTermDebt.Tables",
     "shortName": "LONG TERM DEBT. (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:LongTermDebtTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "From2023-01-01to2023-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "FSI:ScheduleOfLoanCovenantsTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R36": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "From2023-01-01to2023-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000036 - Disclosure - STOCK OPTIONS. (Tables)",
     "menuCat": "Tables",
     "order": "36",
     "role": "http://flexiblesolutions.com/role/StockOptions.Tables",
     "shortName": "STOCK OPTIONS. (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "From2023-01-01to2023-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R37": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:MinorityInterestDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "From2023-01-01to2023-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "FSI:ScheduleOfDistributionsTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000037 - Disclosure - NON-CONTROLLING INTERESTS (Tables)",
     "menuCat": "Tables",
     "order": "37",
     "role": "http://flexiblesolutions.com/role/Non-controllingInterestsTables",
     "shortName": "NON-CONTROLLING INTERESTS (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:MinorityInterestDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "From2023-01-01to2023-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "FSI:ScheduleOfDistributionsTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R38": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:SegmentReportingDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "From2023-01-01to2023-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ReconciliationOfRevenueFromSegmentsToConsolidatedTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000038 - Disclosure - SEGMENTED, SIGNIFICANT CUSTOMER INFORMATION AND ECONOMIC DEPENDENCY (Tables)",
     "menuCat": "Tables",
     "order": "38",
     "role": "http://flexiblesolutions.com/role/SegmentedSignificantCustomerInformationAndEconomicDependencyTables",
     "shortName": "SEGMENTED, SIGNIFICANT CUSTOMER INFORMATION AND ECONOMIC DEPENDENCY (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:SegmentReportingDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "From2023-01-01to2023-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ReconciliationOfRevenueFromSegmentsToConsolidatedTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R39": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "span",
       "p",
       "us-gaap:BusinessDescriptionAndBasisOfPresentationTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "From2023-01-012023-06-30_custom_EnpPeruInvestmentsLlcMember",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Pure",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000039 - Disclosure - BASIS OF PRESENTATION (Details Narrative)",
     "menuCat": "Details",
     "order": "39",
     "role": "http://flexiblesolutions.com/role/BasisOfPresentationDetailsNarrative",
     "shortName": "BASIS OF PRESENTATION (Details Narrative)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "span",
       "p",
       "us-gaap:BusinessDescriptionAndBasisOfPresentationTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "From2023-01-012023-06-30_custom_EnpPeruInvestmentsLlcMember",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Pure",
      "xsiNil": "false"
     }
    },
    "R4": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "From2023-04-012023-06-30",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax",
      "reportCount": 1,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "00000004 - Statement - Condensed Interim Consolidated Statements of Operations and Comprehensive Income (Unaudited)",
     "menuCat": "Statements",
     "order": "4",
     "role": "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfOperationsAndComprehensiveIncome",
     "shortName": "Condensed Interim Consolidated Statements of Operations and Comprehensive Income (Unaudited)",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "From2023-04-012023-06-30",
      "decimals": "0",
      "lang": null,
      "name": "us-gaap:GrossProfit",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R40": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "span",
       "td",
       "tr",
       "table",
       "FSI:ScheduleOfMethodOfDepreciationTableTextBlock",
       "us-gaap:PropertyPlantAndEquipmentPolicyTextBlock",
       "us-gaap:SignificantAccountingPoliciesTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "From2023-01-012023-06-30_us-gaap_ComputerEquipmentMember",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "FSI:DepreciationMethodUsedAndAnnualRate",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000040 - Disclosure - SCHEDULE OF METHOD OF DEPRECIATION (Details)",
     "menuCat": "Details",
     "order": "40",
     "role": "http://flexiblesolutions.com/role/ScheduleOfMethodOfDepreciationDetails",
     "shortName": "SCHEDULE OF METHOD OF DEPRECIATION (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "span",
       "td",
       "tr",
       "table",
       "FSI:ScheduleOfMethodOfDepreciationTableTextBlock",
       "us-gaap:PropertyPlantAndEquipmentPolicyTextBlock",
       "us-gaap:SignificantAccountingPoliciesTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "From2023-01-012023-06-30_us-gaap_ComputerEquipmentMember",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "FSI:DepreciationMethodUsedAndAnnualRate",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R41": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "span",
       "p",
       "FSI:TermDepositsPolicyTextBlock",
       "us-gaap:SignificantAccountingPoliciesTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "AsOf2023-06-30",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:Deposits",
      "reportCount": 1,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000041 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES (Details Narrative)",
     "menuCat": "Details",
     "order": "41",
     "role": "http://flexiblesolutions.com/role/SignificantAccountingPoliciesDetailsNarrative",
     "shortName": "SIGNIFICANT ACCOUNTING POLICIES (Details Narrative)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "span",
       "p",
       "us-gaap:EquityMethodInvestmentsPolicy",
       "us-gaap:SignificantAccountingPoliciesTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "From2023-01-012023-06-30_custom_InvestmentMember",
      "decimals": null,
      "lang": "en-US",
      "name": "us-gaap:EquityMethodInvestmentDescriptionOfPrincipalActivities",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R42": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "AsOf2022-12-31",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:OperatingLeaseRightOfUseAsset",
      "reportCount": 1,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000042 - Disclosure - SUMMARY OF RIGHT-OF-USE ASSET AND LEASE LIABILITY (Details)",
     "menuCat": "Details",
     "order": "42",
     "role": "http://flexiblesolutions.com/role/SummaryOfRight-of-useAssetAndLeaseLiabilityDetails",
     "shortName": "SUMMARY OF RIGHT-OF-USE ASSET AND LEASE LIABILITY (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "FSI:SummaryOfRightofuseAssetAndLeaseLiabilityTableTextBlock",
       "us-gaap:LesseeOperatingLeasesTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "AsOf2021-12-31",
      "decimals": "0",
      "lang": null,
      "name": "us-gaap:OperatingLeaseRightOfUseAsset",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R43": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock",
       "us-gaap:LesseeOperatingLeasesTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "AsOf2023-06-30",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000043 - Disclosure - SCHEDULE OF UNDISCOUNTED RENT PAYMENTS (Details)",
     "menuCat": "Details",
     "order": "43",
     "role": "http://flexiblesolutions.com/role/ScheduleOfUndiscountedRentPaymentsDetails",
     "shortName": "SCHEDULE OF UNDISCOUNTED RENT PAYMENTS (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock",
       "us-gaap:LesseeOperatingLeasesTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "AsOf2023-06-30",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R44": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "span",
       "p",
       "us-gaap:LesseeOperatingLeasesTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "AsOf2023-06-30",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:LesseeOperatingLeaseDiscountRate",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Pure",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000044 - Disclosure - LEASES. (Details Narrative)",
     "menuCat": "Details",
     "order": "44",
     "role": "http://flexiblesolutions.com/role/Leases.DetailsNarrative",
     "shortName": "LEASES. (Details Narrative)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "span",
       "p",
       "us-gaap:LesseeOperatingLeasesTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "AsOf2023-06-30",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:LesseeOperatingLeaseDiscountRate",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Pure",
      "xsiNil": "false"
     }
    },
    "R45": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:AccountsReceivableAllowanceForCreditLossTableTextBlock",
       "us-gaap:FinancingReceivablesTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "AsOf2023-06-30",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:AccountsReceivableGross",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000045 - Disclosure - SCHEDULE OF ACCOUNTS RECEIVABLE (Details)",
     "menuCat": "Details",
     "order": "45",
     "role": "http://flexiblesolutions.com/role/ScheduleOfAccountsReceivableDetails",
     "shortName": "SCHEDULE OF ACCOUNTS RECEIVABLE (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:AccountsReceivableAllowanceForCreditLossTableTextBlock",
       "us-gaap:FinancingReceivablesTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "AsOf2023-06-30",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:AccountsReceivableGross",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R46": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
       "us-gaap:InventoryDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "AsOf2023-06-30",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:InventoryFinishedGoods",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000046 - Disclosure - SCHEDULE OF INVENTORY (Details)",
     "menuCat": "Details",
     "order": "46",
     "role": "http://flexiblesolutions.com/role/ScheduleOfInventoryDetails",
     "shortName": "SCHEDULE OF INVENTORY (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
       "us-gaap:InventoryDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "AsOf2023-06-30",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:InventoryFinishedGoods",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R47": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:PropertyPlantAndEquipmentTextBlock",
       "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "AsOf2023-06-30",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:PropertyPlantAndEquipmentGross",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000047 - Disclosure - SCHEDULE OF PROPERTY, EQUIPMENT AND LEASEHOLDS (Details)",
     "menuCat": "Details",
     "order": "47",
     "role": "http://flexiblesolutions.com/role/ScheduleOfPropertyEquipmentAndLeaseholdsDetails",
     "shortName": "SCHEDULE OF PROPERTY, EQUIPMENT AND LEASEHOLDS (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:PropertyPlantAndEquipmentTextBlock",
       "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "AsOf2023-06-30",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:PropertyPlantAndEquipmentGross",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R48": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "span",
       "p",
       "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "From2023-01-01to2023-06-30",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:Depreciation",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000048 - Disclosure - PROPERTY, EQUIPMENT & LEASEHOLDS. (Details Narrative)",
     "menuCat": "Details",
     "order": "48",
     "role": "http://flexiblesolutions.com/role/PropertyEquipmentLeaseholds.DetailsNarrative",
     "shortName": "PROPERTY, EQUIPMENT & LEASEHOLDS. (Details Narrative)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "span",
       "p",
       "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "From2023-01-01to2023-06-30",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:Depreciation",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R49": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock",
       "us-gaap:IntangibleAssetsDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "AsOf2023-06-30",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:FiniteLivedPatentsGross",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000049 - Disclosure - SCHEDULE OF PATENTS (Details)",
     "menuCat": "Details",
     "order": "49",
     "role": "http://flexiblesolutions.com/role/ScheduleOfPatentsDetails",
     "shortName": "SCHEDULE OF PATENTS (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock",
       "us-gaap:IntangibleAssetsDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "AsOf2023-06-30",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:FiniteLivedPatentsGross",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R5": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "From2023-01-01to2023-06-30",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:ProfitLoss",
      "reportCount": 1,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "00000005 - Statement - Condensed Interim Consolidated Statements of Cash Flows (Unaudited)",
     "menuCat": "Statements",
     "order": "5",
     "role": "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfCashFlows",
     "shortName": "Condensed Interim Consolidated Statements of Cash Flows (Unaudited)",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "From2023-01-01to2023-06-30",
      "decimals": "0",
      "lang": null,
      "name": "us-gaap:ShareBasedCompensation",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R50": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "AsOf2023-06-30",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:Goodwill",
      "reportCount": 1,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000050 - Disclosure - SCHEDULE OF GOODWILL AND INDEFINITE LIVED INTANGIBLE ASSETS (Details)",
     "menuCat": "Details",
     "order": "50",
     "role": "http://flexiblesolutions.com/role/ScheduleOfGoodwillAndIndefiniteLivedIntangibleAssetsDetails",
     "shortName": "SCHEDULE OF GOODWILL AND INDEFINITE LIVED INTANGIBLE ASSETS (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "span",
       "span",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfIntangibleAssetsAndGoodwillTableTextBlock",
       "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "AsOf2021-12-31",
      "decimals": "0",
      "lang": null,
      "name": "us-gaap:Goodwill",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R51": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock",
       "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "AsOf2023-06-30_us-gaap_FiniteLivedIntangibleAssetsMember",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000051 - Disclosure - SCHEDULE OF ESTIMATED FUTURE AMORTIZATION EXPENSE (Details)",
     "menuCat": "Details",
     "order": "51",
     "role": "http://flexiblesolutions.com/role/ScheduleOfEstimatedFutureAmortizationExpenseDetails",
     "shortName": "SCHEDULE OF ESTIMATED FUTURE AMORTIZATION EXPENSE (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock",
       "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "AsOf2023-06-30_us-gaap_FiniteLivedIntangibleAssetsMember",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R52": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "span",
       "p",
       "us-gaap:IntangibleAssetsDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "From2022-01-012022-06-30_us-gaap_PatentsMember",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:AmortizationOfIntangibleAssets",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000052 - Disclosure - PATENTS. (Details Narrative)",
     "menuCat": "Details",
     "order": "52",
     "role": "http://flexiblesolutions.com/role/Patents.DetailsNarrative",
     "shortName": "PATENTS. (Details Narrative)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "span",
       "p",
       "us-gaap:IntangibleAssetsDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "From2022-01-012022-06-30_us-gaap_PatentsMember",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:AmortizationOfIntangibleAssets",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R53": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "AsOf2023-06-30",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:DepositsAssetsNoncurrent",
      "reportCount": 1,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000053 - Disclosure - SCHEDULE OF LONG TERM DEPOSITS (Details)",
     "menuCat": "Details",
     "order": "53",
     "role": "http://flexiblesolutions.com/role/ScheduleOfLongTermDepositsDetails",
     "shortName": "SCHEDULE OF LONG TERM DEPOSITS (Details)",
     "subGroupType": "details",
     "uniqueAnchor": null
    },
    "R54": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock",
       "us-gaap:EquityMethodInvestmentsDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "From2022-01-012022-12-31",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:BusinessCombinationConsiderationTransferred1",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000054 - Disclosure - SCHEDULE OF FAIR VALUES OF THE ASSETS ACQUIRED AND LIABILITIES ASSUMED (Details)",
     "menuCat": "Details",
     "order": "54",
     "role": "http://flexiblesolutions.com/role/ScheduleOfFairValuesOfAssetsAcquiredAndLiabilitiesAssumedDetails",
     "shortName": "SCHEDULE OF FAIR VALUES OF THE ASSETS ACQUIRED AND LIABILITIES ASSUMED (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock",
       "us-gaap:EquityMethodInvestmentsDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "From2022-01-012022-12-31",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:BusinessCombinationConsiderationTransferred1",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R55": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "AsOf2022-12-31",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:EquityMethodInvestments",
      "reportCount": 1,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000055 - Disclosure - SCHEDULE OF EQUITY METHOD INVESTMENT (Details)",
     "menuCat": "Details",
     "order": "55",
     "role": "http://flexiblesolutions.com/role/ScheduleOfEquityMethodInvestmentDetails",
     "shortName": "SCHEDULE OF EQUITY METHOD INVESTMENT (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:EquityMethodInvestmentsTextBlock",
       "us-gaap:EquityMethodInvestmentsDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "AsOf2021-12-31_custom_EnpPeruInvestmentsLlcMember",
      "decimals": "0",
      "lang": null,
      "name": "us-gaap:EquityMethodInvestments",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R56": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:GainLossOnInvestmentsTextBlock",
       "us-gaap:EquityMethodInvestmentsDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "From2023-01-01to2023-06-30",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:GainsLossesOnSalesOfInvestmentRealEstate",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000056 - Disclosure - SUMMARY OF PROFIT AND LOSS INFORMATION RELATED TO EQUITY ACCOUNTED INVESTMENT (Details)",
     "menuCat": "Details",
     "order": "56",
     "role": "http://flexiblesolutions.com/role/SummaryOfProfitAndLossInformationRelatedToEquityAccountedInvestmentDetails",
     "shortName": "SUMMARY OF PROFIT AND LOSS INFORMATION RELATED TO EQUITY ACCOUNTED INVESTMENT (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:GainLossOnInvestmentsTextBlock",
       "us-gaap:EquityMethodInvestmentsDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "From2023-01-01to2023-06-30",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:GainsLossesOnSalesOfInvestmentRealEstate",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R57": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "span",
       "p",
       "us-gaap:EquityMethodInvestmentsDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "From2021-01-012021-12-31",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:DebtInstrumentMaturityDate",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000057 - Disclosure - INVESTMENTS. (Details Narrative)",
     "menuCat": "Details",
     "order": "57",
     "role": "http://flexiblesolutions.com/role/Investments.DetailsNarrative",
     "shortName": "INVESTMENTS. (Details Narrative)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "span",
       "p",
       "us-gaap:EquityMethodInvestmentsDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "From2021-01-012021-12-31",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:DebtInstrumentMaturityDate",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R58": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "AsOf2022-12-31",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:LinesOfCreditCurrent",
      "reportCount": 1,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000058 - Disclosure - SHORT-TERM LINE OF CREDIT. (Details Narrative)",
     "menuCat": "Details",
     "order": "58",
     "role": "http://flexiblesolutions.com/role/Short-termLineOfCredit.DetailsNarrative",
     "shortName": "SHORT-TERM LINE OF CREDIT. (Details Narrative)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "span",
       "p",
       "us-gaap:ShortTermDebtTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "AsOf2023-06-30_custom_NanoChemSolutionIncMember_custom_StockYardAndBankMember",
      "decimals": "INF",
      "lang": null,
      "name": "FSI:LoanGuaranteedRate",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Pure",
      "xsiNil": "false"
     }
    },
    "R59": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "FSI:ScheduleOfLoanCovenantsTableTextBlock",
       "us-gaap:LongTermDebtTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "AsOf2022-12-31",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:LongTermDebt",
      "reportCount": 1,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000059 - Disclosure - SCHEDULE OF LOAN COVENANTS (Details)",
     "menuCat": "Details",
     "order": "59",
     "role": "http://flexiblesolutions.com/role/ScheduleOfLoanCovenantsDetails",
     "shortName": "SCHEDULE OF LOAN COVENANTS (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "FSI:ScheduleOfLoanCovenantsTableTextBlock",
       "us-gaap:LongTermDebtTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "From2023-01-01to2023-06-30",
      "decimals": "0",
      "lang": null,
      "name": "us-gaap:ProceedsFromBankDebt",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R6": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "AsOf2021-12-31_us-gaap_CommonStockMember",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest",
      "reportCount": 1,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "00000006 - Statement - Condensed Interim Consolidated Statements of Stockholders' Equity (Unaudited)",
     "menuCat": "Statements",
     "order": "6",
     "role": "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfStockholdersEquity",
     "shortName": "Condensed Interim Consolidated Statements of Stockholders' Equity (Unaudited)",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "From2022-01-012022-03-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember",
      "decimals": "0",
      "lang": null,
      "name": "us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R60": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "FSI:ScheduleOfLoanCovenantsTableTextBlock",
       "us-gaap:LongTermDebtTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "AsOf2023-06-30",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:LongTermDebt",
      "reportCount": 1,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000060 - Disclosure - SCHEDULE OF OUTSTANDING BALANCE LOAN (Details)",
     "menuCat": "Details",
     "order": "60",
     "role": "http://flexiblesolutions.com/role/ScheduleOfOutstandingBalanceLoanDetails",
     "shortName": "SCHEDULE OF OUTSTANDING BALANCE LOAN (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfDebtInstrumentsTextBlock",
       "us-gaap:LongTermDebtTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "AsOf2023-06-30_custom_StockYardsBankTrustMember",
      "decimals": "0",
      "lang": null,
      "name": "us-gaap:LongTermDebt",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R61": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "From2023-04-012023-06-30",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:InterestExpense",
      "reportCount": 1,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000061 - Disclosure - LONG TERM DEBT. (Details Narrative)",
     "menuCat": "Details",
     "order": "61",
     "role": "http://flexiblesolutions.com/role/LongTermDebt.DetailsNarrative",
     "shortName": "LONG TERM DEBT. (Details Narrative)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "span",
       "p",
       "us-gaap:LongTermDebtTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "AsOf2020-10-31_custom_MidlandBankMember_custom_NanoChemSolutionsIncMember",
      "decimals": "0",
      "lang": null,
      "name": "us-gaap:DebtInstrumentFaceAmount",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R62": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock",
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "AsOf2022-12-31",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber",
      "reportCount": 1,
      "unitRef": "Shares",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000062 - Disclosure - SCHEDULE OF STOCK OPTION ACTIVITIES (Details)",
     "menuCat": "Details",
     "order": "62",
     "role": "http://flexiblesolutions.com/role/ScheduleOfStockOptionActivitiesDetails",
     "shortName": "SCHEDULE OF STOCK OPTION ACTIVITIES (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock",
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "AsOf2021-12-31",
      "decimals": "INF",
      "lang": null,
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Shares",
      "xsiNil": "false"
     }
    },
    "R63": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock",
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "From2022-01-012022-12-31",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000063 - Disclosure - SCHEDULE OF STOCK OPTION FAIR VALUE ASSUMPTIONS (Details)",
     "menuCat": "Details",
     "order": "63",
     "role": "http://flexiblesolutions.com/role/ScheduleOfStockOptionFairValueAssumptionsDetails",
     "shortName": "SCHEDULE OF STOCK OPTION FAIR VALUE ASSUMPTIONS (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock",
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "From2022-01-012022-12-31",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R64": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "span",
       "p",
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "From2023-01-01to2023-06-30",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Pure",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000064 - Disclosure - STOCK OPTIONS. (Details Narrative)",
     "menuCat": "Details",
     "order": "64",
     "role": "http://flexiblesolutions.com/role/StockOptions.DetailsNarrative",
     "shortName": "STOCK OPTIONS. (Details Narrative)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "span",
       "p",
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "From2023-01-01to2023-06-30",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Pure",
      "xsiNil": "false"
     }
    },
    "R65": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock",
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "From2022-01-012022-12-31",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross",
      "reportCount": 1,
      "unitRef": "Shares",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000065 - Disclosure - CAPITAL STOCK (Details Narrative)",
     "menuCat": "Details",
     "order": "65",
     "role": "http://flexiblesolutions.com/role/CapitalStockDetailsNarrative",
     "shortName": "CAPITAL STOCK (Details Narrative)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "span",
       "p",
       "us-gaap:StockholdersEquityNoteDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "From2023-01-01to2023-06-30",
      "decimals": "INF",
      "lang": null,
      "name": "us-gaap:StockIssuedDuringPeriodSharesIssuedForServices",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Shares",
      "xsiNil": "false"
     }
    },
    "R66": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "AsOf2022-12-31",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:MinorityInterest",
      "reportCount": 1,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000066 - Disclosure - SCHEDULE OF DISTRIBUTIONS (Details)",
     "menuCat": "Details",
     "order": "66",
     "role": "http://flexiblesolutions.com/role/ScheduleOfDistributionsDetails",
     "shortName": "SCHEDULE OF DISTRIBUTIONS (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "FSI:ScheduleOfDistributionsTableTextBlock",
       "us-gaap:MinorityInterestDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "From2023-01-012023-06-30_custom_ENPInvestmentsLLCMember_custom_OwnershipInterestPurchaseAgreementMember",
      "decimals": "0",
      "lang": null,
      "name": "us-gaap:MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R67": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "AsOf2022-12-31",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:MinorityInterest",
      "reportCount": 1,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000067 - Disclosure - SCHEDULE OF NON CONTROLLING INTEREST RELATED TO ACQUISITION (Details)",
     "menuCat": "Details",
     "order": "67",
     "role": "http://flexiblesolutions.com/role/ScheduleOfNonControllingInterestRelatedToAcquisitionDetails",
     "shortName": "SCHEDULE OF NON CONTROLLING INTEREST RELATED TO ACQUISITION (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "FSI:ScheduleOfNonControllingInterestRelatedToAcquisitionTableTextBlock",
       "us-gaap:MinorityInterestDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "From2023-01-012023-06-30_custom_MendotaLLCMember_custom_OwnershipInterestPurchaseAgreementMember",
      "decimals": "0",
      "lang": null,
      "name": "us-gaap:PaymentsToAcquireBusinessesAndInterestInAffiliates",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R68": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "From2023-01-01to2023-06-30",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:PaymentsToMinorityShareholders",
      "reportCount": 1,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000068 - Disclosure - NON-CONTROLLING INTERESTS (Details Narrative)",
     "menuCat": "Details",
     "order": "68",
     "role": "http://flexiblesolutions.com/role/Non-controllingInterestsDetailsNarrative",
     "shortName": "NON-CONTROLLING INTERESTS (Details Narrative)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "span",
       "p",
       "us-gaap:MinorityInterestDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "From2023-01-012023-06-30_custom_ENPInvestmentsLLCMember",
      "decimals": "INF",
      "lang": null,
      "name": "us-gaap:SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Pure",
      "xsiNil": "false"
     }
    },
    "R69": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "From2023-04-012023-06-30",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax",
      "reportCount": 1,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000069 - Disclosure - SCHEDULE OF REPORTABLE SEGMENTS (Details)",
     "menuCat": "Details",
     "order": "69",
     "role": "http://flexiblesolutions.com/role/ScheduleOfReportableSegmentsDetails",
     "shortName": "SCHEDULE OF REPORTABLE SEGMENTS (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ReconciliationOfRevenueFromSegmentsToConsolidatedTextBlock",
       "us-gaap:SegmentReportingDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "From2023-04-012023-06-30_custom_SegmentMember",
      "decimals": "0",
      "lang": null,
      "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R7": {
     "firstAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "From2023-01-01to2023-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:BusinessDescriptionAndBasisOfPresentationTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000007 - Disclosure - BASIS OF PRESENTATION",
     "menuCat": "Notes",
     "order": "7",
     "role": "http://flexiblesolutions.com/role/BasisOfPresentation",
     "shortName": "BASIS OF PRESENTATION",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "From2023-01-01to2023-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:BusinessDescriptionAndBasisOfPresentationTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R70": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "From2023-04-012023-06-30",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax",
      "reportCount": 1,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000070 - Disclosure - SCHEDULE OF REVENUE GENERATED IN UNITED STATES AND CANADA (Details)",
     "menuCat": "Details",
     "order": "70",
     "role": "http://flexiblesolutions.com/role/ScheduleOfRevenueGeneratedInUnitedStatesAndCanadaDetails",
     "shortName": "SCHEDULE OF REVENUE GENERATED IN UNITED STATES AND CANADA (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock",
       "us-gaap:SegmentReportingDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "From2023-01-012023-06-30_country_CA",
      "decimals": "0",
      "lang": null,
      "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R71": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock",
       "us-gaap:SegmentReportingDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "AsOf2023-06-30",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:NoncurrentAssets",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000071 - Disclosure - SCHEDULE OF LONG-LIVED ASSETS ARE LOCATED IN CANADA AND UNITED STATES (Details)",
     "menuCat": "Details",
     "order": "71",
     "role": "http://flexiblesolutions.com/role/ScheduleOfLong-livedAssetsAreLocatedInCanadaAndUnitedStatesDetails",
     "shortName": "SCHEDULE OF LONG-LIVED ASSETS ARE LOCATED IN CANADA AND UNITED STATES (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock",
       "us-gaap:SegmentReportingDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "AsOf2023-06-30",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:NoncurrentAssets",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R72": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "span",
       "p",
       "us-gaap:SegmentReportingDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "From2023-01-01to2023-06-30",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:NumberOfOperatingSegments",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Segments",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000072 - Disclosure - SEGMENTED, SIGNIFICANT CUSTOMER INFORMATION AND ECONOMIC DEPENDENCY (Details Narrative)",
     "menuCat": "Details",
     "order": "72",
     "role": "http://flexiblesolutions.com/role/SegmentedSignificantCustomerInformationAndEconomicDependencyDetailsNarrative",
     "shortName": "SEGMENTED, SIGNIFICANT CUSTOMER INFORMATION AND ECONOMIC DEPENDENCY (Details Narrative)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "span",
       "p",
       "us-gaap:SegmentReportingDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "From2023-01-01to2023-06-30",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:NumberOfOperatingSegments",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Segments",
      "xsiNil": "false"
     }
    },
    "R8": {
     "firstAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "From2023-01-01to2023-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:SignificantAccountingPoliciesTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000008 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES",
     "menuCat": "Notes",
     "order": "8",
     "role": "http://flexiblesolutions.com/role/SignificantAccountingPolicies",
     "shortName": "SIGNIFICANT ACCOUNTING POLICIES",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "From2023-01-01to2023-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:SignificantAccountingPoliciesTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R9": {
     "firstAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "From2023-01-01to2023-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:LesseeOperatingLeasesTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000009 - Disclosure - LEASES.",
     "menuCat": "Notes",
     "order": "9",
     "role": "http://flexiblesolutions.com/role/Leases.",
     "shortName": "LEASES.",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "form10-q.htm",
      "contextRef": "From2023-01-01to2023-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:LesseeOperatingLeasesTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    }
   },
   "segmentCount": 84,
   "tag": {
    "FSI_AdditionalEquityMethodInvestmentOwnershipPercentage": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Additional equity method investment ownership percentage.",
        "label": "Additional ownership interest"
       }
      }
     },
     "localname": "AdditionalEquityMethodInvestmentOwnershipPercentage",
     "nsuri": "http://flexiblesolutions.com/20230630",
     "presentation": [
      "http://flexiblesolutions.com/role/Investments.DetailsNarrative"
     ],
     "xbrltype": "percentItemType"
    },
    "FSI_AdditionalExpensesDueToOptionsGranted": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Additional expenses due to options granted.",
        "label": "Additional expenses due to options granted"
       }
      }
     },
     "localname": "AdditionalExpensesDueToOptionsGranted",
     "nsuri": "http://flexiblesolutions.com/20230630",
     "presentation": [
      "http://flexiblesolutions.com/role/StockOptions.DetailsNarrative"
     ],
     "xbrltype": "monetaryItemType"
    },
    "FSI_AppliedHoldingCorpMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Applied Holding Corp [Member]",
        "label": "Applied Holding Corp [Member]"
       }
      }
     },
     "localname": "AppliedHoldingCorpMember",
     "nsuri": "http://flexiblesolutions.com/20230630",
     "presentation": [
      "http://flexiblesolutions.com/role/Investments.DetailsNarrative"
     ],
     "xbrltype": "domainItemType"
    },
    "FSI_BoatMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Boat [Member]",
        "label": "Boat [Member]"
       }
      }
     },
     "localname": "BoatMember",
     "nsuri": "http://flexiblesolutions.com/20230630",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfMethodOfDepreciationDetails",
      "http://flexiblesolutions.com/role/ScheduleOfPropertyEquipmentAndLeaseholdsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "FSI_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLessPurchasePrice": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Business combination recognized identifiable assets acquired and liabilities assumed less purchase price.",
        "label": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLessPurchasePrice",
        "periodEndLabel": "Excess of assets acquired over consideration"
       }
      }
     },
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLessPurchasePrice",
     "nsuri": "http://flexiblesolutions.com/20230630",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfFairValuesOfAssetsAcquiredAndLiabilitiesAssumedDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "FSI_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLongTermDebt": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Business combination recognized identifiable assets acquired and liabilities assumed long term debt.",
        "label": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLongTermDebt",
        "periodEndLabel": "Long term debt"
       }
      }
     },
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLongTermDebt",
     "nsuri": "http://flexiblesolutions.com/20230630",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfFairValuesOfAssetsAcquiredAndLiabilitiesAssumedDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "FSI_CapitalInExcessOfParValueMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Capital in Excess of Par Value [Member]",
        "label": "Capital in Excess of Par Value [Member]"
       }
      }
     },
     "localname": "CapitalInExcessOfParValueMember",
     "nsuri": "http://flexiblesolutions.com/20230630",
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfStockholdersEquity"
     ],
     "xbrltype": "domainItemType"
    },
    "FSI_Commissions": {
     "auth_ref": [],
     "calculation": {
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfOperationsAndComprehensiveIncome": {
       "order": 17.0,
       "parentTag": "us-gaap_OperatingExpenses",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Commissions.",
        "label": "Commissions"
       }
      }
     },
     "localname": "Commissions",
     "nsuri": "http://flexiblesolutions.com/20230630",
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfOperationsAndComprehensiveIncome"
     ],
     "xbrltype": "monetaryItemType"
    },
    "FSI_ComparativeFiguresTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Comparative Figures [Text Block]",
        "label": "COMPARATIVE FIGURES"
       }
      }
     },
     "localname": "ComparativeFiguresTextBlock",
     "nsuri": "http://flexiblesolutions.com/20230630",
     "presentation": [
      "http://flexiblesolutions.com/role/ComparativeFigures"
     ],
     "xbrltype": "textBlockItemType"
    },
    "FSI_ConcentrationRiskThresholdPercentage": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Concentration Risk Threshold Percentage.",
        "label": "Accounts receivable, after allowance for credit loss, percentage"
       }
      }
     },
     "localname": "ConcentrationRiskThresholdPercentage",
     "nsuri": "http://flexiblesolutions.com/20230630",
     "presentation": [
      "http://flexiblesolutions.com/role/SignificantAccountingPoliciesDetailsNarrative"
     ],
     "xbrltype": "percentItemType"
    },
    "FSI_ConsultantMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Consultant [Member]",
        "label": "Consultant [Member]"
       }
      }
     },
     "localname": "ConsultantMember",
     "nsuri": "http://flexiblesolutions.com/20230630",
     "presentation": [
      "http://flexiblesolutions.com/role/StockOptions.DetailsNarrative"
     ],
     "xbrltype": "domainItemType"
    },
    "FSI_ConsultantsMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Consultants [Member]",
        "label": "Consultants [Member]"
       }
      }
     },
     "localname": "ConsultantsMember",
     "nsuri": "http://flexiblesolutions.com/20230630",
     "presentation": [
      "http://flexiblesolutions.com/role/StockOptions.DetailsNarrative"
     ],
     "xbrltype": "domainItemType"
    },
    "FSI_Consulting": {
     "auth_ref": [],
     "calculation": {
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfOperationsAndComprehensiveIncome": {
       "order": 7.0,
       "parentTag": "us-gaap_OperatingExpenses",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Consulting.",
        "label": "Consulting"
       }
      }
     },
     "localname": "Consulting",
     "nsuri": "http://flexiblesolutions.com/20230630",
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfOperationsAndComprehensiveIncome"
     ],
     "xbrltype": "monetaryItemType"
    },
    "FSI_DepositsOnPurchasesOfEquipment": {
     "auth_ref": [],
     "calculation": {
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfCashFlows": {
       "order": 5.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Deposits on purchases of equipment.",
        "label": "DepositsOnPurchasesOfEquipment",
        "negatedLabel": "Deposits on purchases of equipment"
       }
      }
     },
     "localname": "DepositsOnPurchasesOfEquipment",
     "nsuri": "http://flexiblesolutions.com/20230630",
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "FSI_DepreciationMethodUsedAndAnnualRate": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Depreciation method used and annual rate.",
        "label": "Depreciation method used and annual rate"
       }
      }
     },
     "localname": "DepreciationMethodUsedAndAnnualRate",
     "nsuri": "http://flexiblesolutions.com/20230630",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfMethodOfDepreciationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "FSI_DisclosureComparativeFiguresAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Comparative Figures"
       }
      }
     },
     "localname": "DisclosureComparativeFiguresAbstract",
     "nsuri": "http://flexiblesolutions.com/20230630",
     "xbrltype": "stringItemType"
    },
    "FSI_DisclosureLeases.Abstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Leases.",
        "terseLabel": "Schedule Of Undiscounted Rent Payments",
        "verboseLabel": "Summary Of Right-of-use Asset And Lease Liability"
       }
      }
     },
     "localname": "DisclosureLeases.Abstract",
     "nsuri": "http://flexiblesolutions.com/20230630",
     "xbrltype": "stringItemType"
    },
    "FSI_DisclosureLongTermDeposits.Abstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Long Term Deposits.",
        "verboseLabel": "Schedule Of Long Term Deposits"
       }
      }
     },
     "localname": "DisclosureLongTermDeposits.Abstract",
     "nsuri": "http://flexiblesolutions.com/20230630",
     "xbrltype": "stringItemType"
    },
    "FSI_ENPInvestmentsLLCAndENPMendotaMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "ENP Investments LLC and ENP Mendota [Member]",
        "label": "ENP Investments LLC and ENP Mendota [Member]"
       }
      }
     },
     "localname": "ENPInvestmentsLLCAndENPMendotaMember",
     "nsuri": "http://flexiblesolutions.com/20230630",
     "presentation": [
      "http://flexiblesolutions.com/role/BasisOfPresentationDetailsNarrative"
     ],
     "xbrltype": "domainItemType"
    },
    "FSI_ENPInvestmentsLLCMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "ENP Investments LLC [Member]",
        "label": "ENP Investments, LLC [Member]"
       }
      }
     },
     "localname": "ENPInvestmentsLLCMember",
     "nsuri": "http://flexiblesolutions.com/20230630",
     "presentation": [
      "http://flexiblesolutions.com/role/Investments.DetailsNarrative",
      "http://flexiblesolutions.com/role/Non-controllingInterestsDetailsNarrative",
      "http://flexiblesolutions.com/role/ScheduleOfDistributionsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "FSI_ENPMendotaMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "ENP Mendota, LLC [Member]",
        "label": "ENP Mendota, LLC [Member]"
       }
      }
     },
     "localname": "ENPMendotaMember",
     "nsuri": "http://flexiblesolutions.com/20230630",
     "presentation": [
      "http://flexiblesolutions.com/role/LongTermDebt.DetailsNarrative"
     ],
     "xbrltype": "domainItemType"
    },
    "FSI_ENPPeruInvestmentsMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "ENP Peru Investments [Member]",
        "label": "ENP Peru Investments [Member]"
       }
      }
     },
     "localname": "ENPPeruInvestmentsMember",
     "nsuri": "http://flexiblesolutions.com/20230630",
     "presentation": [
      "http://flexiblesolutions.com/role/LongTermDebt.DetailsNarrative"
     ],
     "xbrltype": "domainItemType"
    },
    "FSI_ENPPeruMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "ENP Peru [Member]",
        "label": "ENP Peru [Member]"
       }
      }
     },
     "localname": "ENPPeruMember",
     "nsuri": "http://flexiblesolutions.com/20230630",
     "presentation": [
      "http://flexiblesolutions.com/role/BasisOfPresentationDetailsNarrative",
      "http://flexiblesolutions.com/role/Investments.DetailsNarrative"
     ],
     "xbrltype": "domainItemType"
    },
    "FSI_ENPPeruOneMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "ENP Peru One [Member]",
        "label": "ENP Peru One [Member]"
       }
      }
     },
     "localname": "ENPPeruOneMember",
     "nsuri": "http://flexiblesolutions.com/20230630",
     "presentation": [
      "http://flexiblesolutions.com/role/LongTermDebt.DetailsNarrative"
     ],
     "xbrltype": "domainItemType"
    },
    "FSI_EWCPMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "EWCP [Member]",
        "label": "EWCP [Member]"
       }
      }
     },
     "localname": "EWCPMember",
     "nsuri": "http://flexiblesolutions.com/20230630",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfReportableSegmentsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "FSI_EligiblePercentageOfDomesticAccountsReceivable": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Eligible percentage of domestic accounts receivable.",
        "label": "Eligible percentage of domestic accounts receivable"
       }
      }
     },
     "localname": "EligiblePercentageOfDomesticAccountsReceivable",
     "nsuri": "http://flexiblesolutions.com/20230630",
     "presentation": [
      "http://flexiblesolutions.com/role/Short-termLineOfCredit.DetailsNarrative"
     ],
     "xbrltype": "percentItemType"
    },
    "FSI_EmployeeMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Employee [Member]",
        "label": "Employee [Member]"
       }
      }
     },
     "localname": "EmployeeMember",
     "nsuri": "http://flexiblesolutions.com/20230630",
     "presentation": [
      "http://flexiblesolutions.com/role/CapitalStockDetailsNarrative"
     ],
     "xbrltype": "domainItemType"
    },
    "FSI_EmployeesMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Employees [Member]",
        "label": "Employees [Member]"
       }
      }
     },
     "localname": "EmployeesMember",
     "nsuri": "http://flexiblesolutions.com/20230630",
     "presentation": [
      "http://flexiblesolutions.com/role/StockOptions.DetailsNarrative"
     ],
     "xbrltype": "domainItemType"
    },
    "FSI_EnPInvestmentsCorporationLLCMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "ENP Investments Limited Liability Corporation (LLC) [Member]",
        "label": "ENP Investments Limited Liability Corporation (LLC) [Member]"
       }
      }
     },
     "localname": "EnPInvestmentsCorporationLLCMember",
     "nsuri": "http://flexiblesolutions.com/20230630",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfGoodwillAndIndefiniteLivedIntangibleAssetsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "FSI_EnpPeruInvestmentsLlcMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Enp Peru Investments Llc [Member]",
        "label": "Enp Peru Investments Llc [Member]"
       }
      }
     },
     "localname": "EnpPeruInvestmentsLlcMember",
     "nsuri": "http://flexiblesolutions.com/20230630",
     "presentation": [
      "http://flexiblesolutions.com/role/BasisOfPresentationDetailsNarrative",
      "http://flexiblesolutions.com/role/Investments.DetailsNarrative",
      "http://flexiblesolutions.com/role/Investments.Tables",
      "http://flexiblesolutions.com/role/ScheduleOfEquityMethodInvestmentDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "FSI_EnpRealtyLLCMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "ENP Realty LLC [Member]",
        "label": "ENP Realty LLC [Member]"
       }
      }
     },
     "localname": "EnpRealtyLLCMember",
     "nsuri": "http://flexiblesolutions.com/20230630",
     "presentation": [
      "http://flexiblesolutions.com/role/LongTermDebt.DetailsNarrative"
     ],
     "xbrltype": "domainItemType"
    },
    "FSI_EnpnvestmentsLlcMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "ENP Investments LLC [Member]",
        "label": "ENP Investments LLC [Member]"
       }
      }
     },
     "localname": "EnpnvestmentsLlcMember",
     "nsuri": "http://flexiblesolutions.com/20230630",
     "presentation": [
      "http://flexiblesolutions.com/role/Investments.DetailsNarrative"
     ],
     "xbrltype": "domainItemType"
    },
    "FSI_EquityMethodInvestmentReturnOfEquity": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Return of equity.",
        "label": "Return of equity"
       }
      }
     },
     "localname": "EquityMethodInvestmentReturnOfEquity",
     "nsuri": "http://flexiblesolutions.com/20230630",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfEquityMethodInvestmentDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "FSI_FloridaBasedLLCMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Florida Based LLC [Member]",
        "label": "Florida Based LLC [Member]"
       }
      }
     },
     "localname": "FloridaBasedLLCMember",
     "nsuri": "http://flexiblesolutions.com/20230630",
     "presentation": [
      "http://flexiblesolutions.com/role/Investments.DetailsNarrative",
      "http://flexiblesolutions.com/role/Investments.Tables",
      "http://flexiblesolutions.com/role/ScheduleOfEquityMethodInvestmentDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "FSI_GainOnAcquisitionOfSubsidiaries": {
     "auth_ref": [],
     "calculation": {
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfCashFlows": {
       "order": 7.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      },
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfOperationsAndComprehensiveIncome": {
       "order": 2.0,
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Gain on acquisition of subsidiaries.",
        "label": "Gain on acquisition of ENP Peru",
        "negatedLabel": "Gain on acquisition of ENP Peru"
       }
      }
     },
     "localname": "GainOnAcquisitionOfSubsidiaries",
     "nsuri": "http://flexiblesolutions.com/20230630",
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfCashFlows",
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfOperationsAndComprehensiveIncome"
     ],
     "xbrltype": "monetaryItemType"
    },
    "FSI_GainOnAcquisitionOfSubsidiary": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Gain on acquisition of subsidiary.",
        "label": "GainOnAcquisitionOfSubsidiary",
        "verboseLabel": "Gain on acquisition of ENP Peru"
       }
      }
     },
     "localname": "GainOnAcquisitionOfSubsidiary",
     "nsuri": "http://flexiblesolutions.com/20230630",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfFairValuesOfAssetsAcquiredAndLiabilitiesAssumedDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "FSI_IncreaseDecreaseInSharePercentage": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Increase decrease in share percentage.",
        "label": "Increase decrease in share percentage"
       }
      }
     },
     "localname": "IncreaseDecreaseInSharePercentage",
     "nsuri": "http://flexiblesolutions.com/20230630",
     "presentation": [
      "http://flexiblesolutions.com/role/BasisOfPresentationDetailsNarrative"
     ],
     "xbrltype": "percentItemType"
    },
    "FSI_InventoryAdditionsInAccountsPayable": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Inventory additions in accounts payable.",
        "label": "Inventory additions in accounts payable"
       }
      }
     },
     "localname": "InventoryAdditionsInAccountsPayable",
     "nsuri": "http://flexiblesolutions.com/20230630",
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "FSI_InvestmentEliminatedUponConsolidation": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Investment eliminated upon consolidation.",
        "label": "Less investment eliminated upon consolidation",
        "verboseLabel": "Investment eliminated upon consolidation"
       }
      }
     },
     "localname": "InvestmentEliminatedUponConsolidation",
     "nsuri": "http://flexiblesolutions.com/20230630",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfEquityMethodInvestmentDetails",
      "http://flexiblesolutions.com/role/ScheduleOfFairValuesOfAssetsAcquiredAndLiabilitiesAssumedDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "FSI_InvestmentMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Investment [Member]",
        "label": "Investment [Member]"
       }
      }
     },
     "localname": "InvestmentMember",
     "nsuri": "http://flexiblesolutions.com/20230630",
     "presentation": [
      "http://flexiblesolutions.com/role/SignificantAccountingPoliciesDetailsNarrative"
     ],
     "xbrltype": "domainItemType"
    },
    "FSI_InvestorRelationsAndTransferAgentFee": {
     "auth_ref": [],
     "calculation": {
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfOperationsAndComprehensiveIncome": {
       "order": 10.0,
       "parentTag": "us-gaap_OperatingExpenses",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Investor relations and transfer agent fee.",
        "label": "Investor relations and transfer agent fee"
       }
      }
     },
     "localname": "InvestorRelationsAndTransferAgentFee",
     "nsuri": "http://flexiblesolutions.com/20230630",
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfOperationsAndComprehensiveIncome"
     ],
     "xbrltype": "monetaryItemType"
    },
    "FSI_LeaseInterestExpense": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Lease interest expense.",
        "label": "Lease interest expense"
       }
      }
     },
     "localname": "LeaseInterestExpense",
     "nsuri": "http://flexiblesolutions.com/20230630",
     "presentation": [
      "http://flexiblesolutions.com/role/SummaryOfRight-of-useAssetAndLeaseLiabilityDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "FSI_LeaseRightOfUseFinancing": {
     "auth_ref": [],
     "calculation": {
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfCashFlows": {
       "order": 5.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Lease right of use financing.",
        "label": "Lease right of use financing"
       }
      }
     },
     "localname": "LeaseRightOfUseFinancing",
     "nsuri": "http://flexiblesolutions.com/20230630",
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "FSI_LoanGuaranteedRate": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Loan guaranteed rate.",
        "label": "Loan guaranteed rate"
       }
      }
     },
     "localname": "LoanGuaranteedRate",
     "nsuri": "http://flexiblesolutions.com/20230630",
     "presentation": [
      "http://flexiblesolutions.com/role/Short-termLineOfCredit.DetailsNarrative"
     ],
     "xbrltype": "percentItemType"
    },
    "FSI_LongTermDepositsTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Long term deposits [Text Block]",
        "label": "LONG TERM DEPOSITS."
       }
      }
     },
     "localname": "LongTermDepositsTextBlock",
     "nsuri": "http://flexiblesolutions.com/20230630",
     "presentation": [
      "http://flexiblesolutions.com/role/LongTermDeposits."
     ],
     "xbrltype": "textBlockItemType"
    },
    "FSI_LygosIncMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Lygos Inc [Member]",
        "label": "Lygos Inc [Member]"
       }
      }
     },
     "localname": "LygosIncMember",
     "nsuri": "http://flexiblesolutions.com/20230630",
     "presentation": [
      "http://flexiblesolutions.com/role/Investments.DetailsNarrative"
     ],
     "xbrltype": "domainItemType"
    },
    "FSI_MendotaLLCMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Mendota LLC [Member]",
        "label": "Mendota LLC [Member]"
       }
      }
     },
     "localname": "MendotaLLCMember",
     "nsuri": "http://flexiblesolutions.com/20230630",
     "presentation": [
      "http://flexiblesolutions.com/role/BasisOfPresentationDetailsNarrative",
      "http://flexiblesolutions.com/role/Non-controllingInterestsDetailsNarrative",
      "http://flexiblesolutions.com/role/ScheduleOfNonControllingInterestRelatedToAcquisitionDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "FSI_MendotaMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Mendota [Member]",
        "label": "Mendota [Member]"
       }
      }
     },
     "localname": "MendotaMember",
     "nsuri": "http://flexiblesolutions.com/20230630",
     "presentation": [
      "http://flexiblesolutions.com/role/LongTermDebt.DetailsNarrative"
     ],
     "xbrltype": "domainItemType"
    },
    "FSI_MidlandBankMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Midland Bank [Member]",
        "label": "Midland Bank [Member]"
       }
      }
     },
     "localname": "MidlandBankMember",
     "nsuri": "http://flexiblesolutions.com/20230630",
     "presentation": [
      "http://flexiblesolutions.com/role/LongTermDebt.DetailsNarrative"
     ],
     "xbrltype": "domainItemType"
    },
    "FSI_MidlandStatesBankMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Midland States Bank [Member]",
        "label": "Midland States Bank [Member]"
       }
      }
     },
     "localname": "MidlandStatesBankMember",
     "nsuri": "http://flexiblesolutions.com/20230630",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfOutstandingBalanceLoanDetails",
      "http://flexiblesolutions.com/role/Short-termLineOfCredit.DetailsNarrative"
     ],
     "xbrltype": "domainItemType"
    },
    "FSI_MidlandStatesBankOneMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Midland States Bank One [Member]"
       }
      }
     },
     "localname": "MidlandStatesBankOneMember",
     "nsuri": "http://flexiblesolutions.com/20230630",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfOutstandingBalanceLoanDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "FSI_NanoChemMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Nano Chem [Member]",
        "label": "Nano Chem [Member]"
       }
      }
     },
     "localname": "NanoChemMember",
     "nsuri": "http://flexiblesolutions.com/20230630",
     "presentation": [
      "http://flexiblesolutions.com/role/Investments.DetailsNarrative",
      "http://flexiblesolutions.com/role/LongTermDebt.DetailsNarrative"
     ],
     "xbrltype": "domainItemType"
    },
    "FSI_NanoChemSolutionIncMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "NanoChem Solutions Inc [Member]",
        "label": "NanoChem Solutions Inc [Member]"
       }
      }
     },
     "localname": "NanoChemSolutionIncMember",
     "nsuri": "http://flexiblesolutions.com/20230630",
     "presentation": [
      "http://flexiblesolutions.com/role/Short-termLineOfCredit.DetailsNarrative"
     ],
     "xbrltype": "domainItemType"
    },
    "FSI_NanoChemSolutionsIncMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "NanoChem Solutions Inc [Member]",
        "label": "NanoChem Solutions Inc [Member] [Default Label]",
        "verboseLabel": "NanoChem Solutions Inc [Member]"
       }
      }
     },
     "localname": "NanoChemSolutionsIncMember",
     "nsuri": "http://flexiblesolutions.com/20230630",
     "presentation": [
      "http://flexiblesolutions.com/role/LongTermDebt.DetailsNarrative"
     ],
     "xbrltype": "domainItemType"
    },
    "FSI_NewAgreementMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "New Agreement [Member]",
        "label": "New Agreement [Member]"
       }
      }
     },
     "localname": "NewAgreementMember",
     "nsuri": "http://flexiblesolutions.com/20230630",
     "presentation": [
      "http://flexiblesolutions.com/role/Short-termLineOfCredit.DetailsNarrative"
     ],
     "xbrltype": "domainItemType"
    },
    "FSI_OtherTermDeposit": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Other term deposit.",
        "label": "Other term deposit"
       }
      }
     },
     "localname": "OtherTermDeposit",
     "nsuri": "http://flexiblesolutions.com/20230630",
     "presentation": [
      "http://flexiblesolutions.com/role/SignificantAccountingPoliciesDetailsNarrative"
     ],
     "xbrltype": "monetaryItemType"
    },
    "FSI_OwnershipInterestPurchaseAgreementMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Ownership Interest Purchase Agreement [Member]",
        "label": "Ownership Interest Purchase Agreement [Member]"
       }
      }
     },
     "localname": "OwnershipInterestPurchaseAgreementMember",
     "nsuri": "http://flexiblesolutions.com/20230630",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfDistributionsDetails",
      "http://flexiblesolutions.com/role/ScheduleOfNonControllingInterestRelatedToAcquisitionDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "FSI_PercentageOfForeignAccountsReceivableOfInventory": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of foreign accounts receivable of inventory.",
        "label": "Percentage of foreign accounts receivable of inventory"
       }
      }
     },
     "localname": "PercentageOfForeignAccountsReceivableOfInventory",
     "nsuri": "http://flexiblesolutions.com/20230630",
     "presentation": [
      "http://flexiblesolutions.com/role/Short-termLineOfCredit.DetailsNarrative"
     ],
     "xbrltype": "percentItemType"
    },
    "FSI_ProceedsFromLoanAcquiredFromAcquisition": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Proceeds from loan acquired from acquisition.",
        "label": "Plus: Loan acquired with acquisition of ENP Peru"
       }
      }
     },
     "localname": "ProceedsFromLoanAcquiredFromAcquisition",
     "nsuri": "http://flexiblesolutions.com/20230630",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfLoanCovenantsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "FSI_ProceedsFromNoncontrollingInterest": {
     "auth_ref": [],
     "calculation": {
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfCashFlows": {
       "order": 1.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Proceeds from noncontrolling interest.",
        "label": "Non-controlling interest of 317 Mendota"
       }
      }
     },
     "localname": "ProceedsFromNoncontrollingInterest",
     "nsuri": "http://flexiblesolutions.com/20230630",
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "FSI_RealizedInvestmentGainsLossesNet": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Net income.",
        "label": "RealizedInvestmentGainsLossesNet",
        "verboseLabel": "Net income"
       }
      }
     },
     "localname": "RealizedInvestmentGainsLossesNet",
     "nsuri": "http://flexiblesolutions.com/20230630",
     "presentation": [
      "http://flexiblesolutions.com/role/SummaryOfProfitAndLossInformationRelatedToEquityAccountedInvestmentDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "FSI_RemainingInvestmentOwnedPercentage": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Remaining investment owned percentage.",
        "label": "Remaining investment owned percentage"
       }
      }
     },
     "localname": "RemainingInvestmentOwnedPercentage",
     "nsuri": "http://flexiblesolutions.com/20230630",
     "presentation": [
      "http://flexiblesolutions.com/role/BasisOfPresentationDetailsNarrative"
     ],
     "xbrltype": "percentItemType"
    },
    "FSI_RemainningShareOutstanding": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Remainning share outstanding.",
        "label": "Remainning share outstanding"
       }
      }
     },
     "localname": "RemainningShareOutstanding",
     "nsuri": "http://flexiblesolutions.com/20230630",
     "presentation": [
      "http://flexiblesolutions.com/role/Investments.DetailsNarrative"
     ],
     "xbrltype": "monetaryItemType"
    },
    "FSI_ScheduleOfDistributionsTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Schedule of distributions [Table Text Block]",
        "label": "SCHEDULE OF DISTRIBUTIONS"
       }
      }
     },
     "localname": "ScheduleOfDistributionsTableTextBlock",
     "nsuri": "http://flexiblesolutions.com/20230630",
     "presentation": [
      "http://flexiblesolutions.com/role/Non-controllingInterestsTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "FSI_ScheduleOfLoanCovenantsTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Schedule of loan covenants [Table Text Block]",
        "label": "SCHEDULE OF LOAN COVENANTS"
       }
      }
     },
     "localname": "ScheduleOfLoanCovenantsTableTextBlock",
     "nsuri": "http://flexiblesolutions.com/20230630",
     "presentation": [
      "http://flexiblesolutions.com/role/LongTermDebt.Tables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "FSI_ScheduleOfLongTermDepositsTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Schedule Of Long Term Deposits [Table Text Block]",
        "label": "SCHEDULE OF LONG TERM DEPOSITS"
       }
      }
     },
     "localname": "ScheduleOfLongTermDepositsTableTextBlock",
     "nsuri": "http://flexiblesolutions.com/20230630",
     "presentation": [
      "http://flexiblesolutions.com/role/LongTermDeposits.Tables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "FSI_ScheduleOfMethodOfDepreciationTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Schedule Of Method Of Depreciation [Table Text Block]",
        "label": "SCHEDULE OF METHOD OF DEPRECIATION"
       }
      }
     },
     "localname": "ScheduleOfMethodOfDepreciationTableTextBlock",
     "nsuri": "http://flexiblesolutions.com/20230630",
     "presentation": [
      "http://flexiblesolutions.com/role/SignificantAccountingPoliciesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "FSI_ScheduleOfNonControllingInterestRelatedToAcquisitionTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Schedule of Non Controlling Interest Related to Acquisition [Table Text Block]",
        "label": "SCHEDULE OF NON CONTROLLING INTEREST RELATED TO ACQUISITION"
       }
      }
     },
     "localname": "ScheduleOfNonControllingInterestRelatedToAcquisitionTableTextBlock",
     "nsuri": "http://flexiblesolutions.com/20230630",
     "presentation": [
      "http://flexiblesolutions.com/role/Non-controllingInterestsTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "FSI_SegmentAssets": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Segment assets.",
        "label": "Segment assets"
       }
      }
     },
     "localname": "SegmentAssets",
     "nsuri": "http://flexiblesolutions.com/20230630",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfReportableSegmentsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "FSI_SegmentMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Segment [Member]",
        "label": "Segment [Member]"
       }
      }
     },
     "localname": "SegmentMember",
     "nsuri": "http://flexiblesolutions.com/20230630",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfReportableSegmentsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Cancelled or expired, Exercise price per share.",
        "label": "Exercise price per share, Cancelled"
       }
      }
     },
     "localname": "SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice",
     "nsuri": "http://flexiblesolutions.com/20230630",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfStockOptionActivitiesDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExcercisedOptionsExercisePrice": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Exercised, Exercise price per share.",
        "label": "Exercise price per share, Exercised"
       }
      }
     },
     "localname": "SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExcercisedOptionsExercisePrice",
     "nsuri": "http://flexiblesolutions.com/20230630",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfStockOptionActivitiesDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeGrantedOptionsExercisePrice": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Exercise price per share, Granted.",
        "label": "Exercise price per share, Granted"
       }
      }
     },
     "localname": "SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeGrantedOptionsExercisePrice",
     "nsuri": "http://flexiblesolutions.com/20230630",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfStockOptionActivitiesDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingExercisableOptionsExercisePrice": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Exercise price per share.",
        "label": "SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingExercisableOptionsExercisePrice",
        "periodEndLabel": "Exercise price per share Exercisable, Ending Balance"
       }
      }
     },
     "localname": "SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingExercisableOptionsExercisePrice",
     "nsuri": "http://flexiblesolutions.com/20230630",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfStockOptionActivitiesDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Exercise price per share.",
        "label": "SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice",
        "periodEndLabel": "Exercise price per share, Ending Balance",
        "periodStartLabel": "Exercise price per share, Beginning Balance"
       }
      }
     },
     "localname": "SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice",
     "nsuri": "http://flexiblesolutions.com/20230630",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfStockOptionActivitiesDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "FSI_ShippingCost": {
     "auth_ref": [],
     "calculation": {
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfOperationsAndComprehensiveIncome": {
       "order": 16.0,
       "parentTag": "us-gaap_OperatingExpenses",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Shipping cost.",
        "label": "Shipping"
       }
      }
     },
     "localname": "ShippingCost",
     "nsuri": "http://flexiblesolutions.com/20230630",
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfOperationsAndComprehensiveIncome"
     ],
     "xbrltype": "monetaryItemType"
    },
    "FSI_SoftwareMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Software [Member]",
        "label": "Software [Member]"
       }
      }
     },
     "localname": "SoftwareMember",
     "nsuri": "http://flexiblesolutions.com/20230630",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfMethodOfDepreciationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "FSI_StockBankMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Stock Bank [Member]",
        "label": "Stock Bank [Member]"
       }
      }
     },
     "localname": "StockBankMember",
     "nsuri": "http://flexiblesolutions.com/20230630",
     "presentation": [
      "http://flexiblesolutions.com/role/Short-termLineOfCredit.DetailsNarrative"
     ],
     "xbrltype": "domainItemType"
    },
    "FSI_StockIssuedInExchangeForServicesPolicyTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Stock Issued In Exchange For Services [Policy Text Block]",
        "label": "Stock Issued in Exchange for Services"
       }
      }
     },
     "localname": "StockIssuedInExchangeForServicesPolicyTextBlock",
     "nsuri": "http://flexiblesolutions.com/20230630",
     "presentation": [
      "http://flexiblesolutions.com/role/SignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "FSI_StockOptionExercisePercent": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Stock option exercise percent",
        "label": "Stock option exercise percent"
       }
      }
     },
     "localname": "StockOptionExercisePercent",
     "nsuri": "http://flexiblesolutions.com/20230630",
     "presentation": [
      "http://flexiblesolutions.com/role/SegmentedSignificantCustomerInformationAndEconomicDependencyDetailsNarrative"
     ],
     "xbrltype": "percentItemType"
    },
    "FSI_StockYardAndBankMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Stock Yard And Bank One [Member]",
        "label": "Stock Yard And Bank One [Member]"
       }
      }
     },
     "localname": "StockYardAndBankMember",
     "nsuri": "http://flexiblesolutions.com/20230630",
     "presentation": [
      "http://flexiblesolutions.com/role/Short-termLineOfCredit.DetailsNarrative"
     ],
     "xbrltype": "domainItemType"
    },
    "FSI_StockYardsBankTrustFiveMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Stock Yards Bank Trust Five [Member]",
        "label": "Stock Yards Bank Trust Five [Member]"
       }
      }
     },
     "localname": "StockYardsBankTrustFiveMember",
     "nsuri": "http://flexiblesolutions.com/20230630",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfOutstandingBalanceLoanDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "FSI_StockYardsBankTrustFourMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stock Yards Bank Trust Four [Member]"
       }
      }
     },
     "localname": "StockYardsBankTrustFourMember",
     "nsuri": "http://flexiblesolutions.com/20230630",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfOutstandingBalanceLoanDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "FSI_StockYardsBankTrustMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Stock Yards Bank Trust [Member]",
        "label": "Stock Yards Bank &amp; Trust [Member]"
       }
      }
     },
     "localname": "StockYardsBankTrustMember",
     "nsuri": "http://flexiblesolutions.com/20230630",
     "presentation": [
      "http://flexiblesolutions.com/role/LongTermDebt.DetailsNarrative",
      "http://flexiblesolutions.com/role/ScheduleOfOutstandingBalanceLoanDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "FSI_StockYardsBankTrustOneMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stock Yards Bank Trust One [Member]"
       }
      }
     },
     "localname": "StockYardsBankTrustOneMember",
     "nsuri": "http://flexiblesolutions.com/20230630",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfOutstandingBalanceLoanDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "FSI_StockYardsBankTrustThreeMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stock Yards Bank Trust Three [Member]"
       }
      }
     },
     "localname": "StockYardsBankTrustThreeMember",
     "nsuri": "http://flexiblesolutions.com/20230630",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfOutstandingBalanceLoanDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "FSI_StockYardsBankTrustTwoMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stock Yards Bank Trust Two [Member]"
       }
      }
     },
     "localname": "StockYardsBankTrustTwoMember",
     "nsuri": "http://flexiblesolutions.com/20230630",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfOutstandingBalanceLoanDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "FSI_SummaryOfRightofuseAssetAndLeaseLiabilityTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Summary Of Right of use Asset And Lease Liability [Table Text Block]",
        "label": "SUMMARY OF RIGHT-OF-USE ASSET AND LEASE LIABILITY"
       }
      }
     },
     "localname": "SummaryOfRightofuseAssetAndLeaseLiabilityTableTextBlock",
     "nsuri": "http://flexiblesolutions.com/20230630",
     "presentation": [
      "http://flexiblesolutions.com/role/Leases.Tables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "FSI_TPAMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "TPA [Member]",
        "label": "TPA [Member]"
       }
      }
     },
     "localname": "TPAMember",
     "nsuri": "http://flexiblesolutions.com/20230630",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfReportableSegmentsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "FSI_TermDepositsPolicyTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Term deposits [Policy Text Block]",
        "label": "Term Deposits"
       }
      }
     },
     "localname": "TermDepositsPolicyTextBlock",
     "nsuri": "http://flexiblesolutions.com/20230630",
     "presentation": [
      "http://flexiblesolutions.com/role/SignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "FSI_TermLoanMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Term Loan [Member]",
        "label": "Term Loan [Member]"
       }
      }
     },
     "localname": "TermLoanMember",
     "nsuri": "http://flexiblesolutions.com/20230630",
     "presentation": [
      "http://flexiblesolutions.com/role/LongTermDebt.DetailsNarrative"
     ],
     "xbrltype": "domainItemType"
    },
    "FSI_ThreeCustomersMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Three Customers [Member]",
        "label": "Three Customers [Member]"
       }
      }
     },
     "localname": "ThreeCustomersMember",
     "nsuri": "http://flexiblesolutions.com/20230630",
     "presentation": [
      "http://flexiblesolutions.com/role/SegmentedSignificantCustomerInformationAndEconomicDependencyDetailsNarrative"
     ],
     "xbrltype": "domainItemType"
    },
    "FSI_ThreePrimaryCustomersMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Three Primary Customers [Member]",
        "label": "Three Primary Customers [Member]"
       }
      }
     },
     "localname": "ThreePrimaryCustomersMember",
     "nsuri": "http://flexiblesolutions.com/20230630",
     "presentation": [
      "http://flexiblesolutions.com/role/SignificantAccountingPoliciesDetailsNarrative"
     ],
     "xbrltype": "domainItemType"
    },
    "FSI_TrailerMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Trailer [Member]",
        "label": "Trailer [Member]"
       }
      }
     },
     "localname": "TrailerMember",
     "nsuri": "http://flexiblesolutions.com/20230630",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfMethodOfDepreciationDetails",
      "http://flexiblesolutions.com/role/ScheduleOfPropertyEquipmentAndLeaseholdsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "FSI_TrioOpportunityCorpMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Trio Opportunity Corp [Member]",
        "label": "Trio Opportunity Corp [Member]"
       }
      }
     },
     "localname": "TrioOpportunityCorpMember",
     "nsuri": "http://flexiblesolutions.com/20230630",
     "presentation": [
      "http://flexiblesolutions.com/role/Investments.DetailsNarrative"
     ],
     "xbrltype": "domainItemType"
    },
    "FSI_UnitedStatesandAbroadMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "United Statesand Abroad [Member]"
       }
      }
     },
     "localname": "UnitedStatesandAbroadMember",
     "nsuri": "http://flexiblesolutions.com/20230630",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfRevenueGeneratedInUnitedStatesAndCanadaDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "FSI_UnrelatedPartyMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Unrelated Party [Member]",
        "label": "Unrelated Party [Member]"
       }
      }
     },
     "localname": "UnrelatedPartyMember",
     "nsuri": "http://flexiblesolutions.com/20230630",
     "presentation": [
      "http://flexiblesolutions.com/role/BasisOfPresentationDetailsNarrative"
     ],
     "xbrltype": "domainItemType"
    },
    "country_CA": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "CANADA"
       }
      }
     },
     "localname": "CA",
     "nsuri": "http://xbrl.sec.gov/country/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfLong-livedAssetsAreLocatedInCanadaAndUnitedStatesDetails",
      "http://flexiblesolutions.com/role/ScheduleOfRevenueGeneratedInUnitedStatesAndCanadaDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "country_US": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "UNITED STATES"
       }
      }
     },
     "localname": "US",
     "nsuri": "http://xbrl.sec.gov/country/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfLong-livedAssetsAreLocatedInCanadaAndUnitedStatesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "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/2023",
     "presentation": [
      "http://flexiblesolutions.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/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_AnnualInformationForm": {
     "auth_ref": [
      "r779"
     ],
     "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/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_AuditedAnnualFinancialStatements": {
     "auth_ref": [
      "r779"
     ],
     "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/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "xbrltype": "booleanItemType"
    },
    "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/2023",
     "presentation": [
      "http://flexiblesolutions.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/2023",
     "presentation": [
      "http://flexiblesolutions.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/2023",
     "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/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "xbrltype": "gMonthDayItemType"
    },
    "dei_DocumentAccountingStandard": {
     "auth_ref": [
      "r778"
     ],
     "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/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "xbrltype": "accountingStandardItemType"
    },
    "dei_DocumentAnnualReport": {
     "auth_ref": [
      "r776",
      "r778",
      "r779"
     ],
     "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/2023",
     "presentation": [
      "http://flexiblesolutions.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/2023",
     "presentation": [
      "http://flexiblesolutions.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/2023",
     "presentation": [
      "http://flexiblesolutions.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/2023",
     "presentation": [
      "http://flexiblesolutions.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/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "xbrltype": "dateItemType"
    },
    "dei_DocumentQuarterlyReport": {
     "auth_ref": [
      "r777"
     ],
     "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/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_DocumentRegistrationStatement": {
     "auth_ref": [
      "r765"
     ],
     "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/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_DocumentShellCompanyEventDate": {
     "auth_ref": [
      "r778"
     ],
     "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/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "xbrltype": "dateItemType"
    },
    "dei_DocumentShellCompanyReport": {
     "auth_ref": [
      "r778"
     ],
     "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/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_DocumentTransitionReport": {
     "auth_ref": [
      "r780"
     ],
     "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/2023",
     "presentation": [
      "http://flexiblesolutions.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/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "xbrltype": "submissionTypeItemType"
    },
    "dei_DocumentsIncorporatedByReferenceTextBlock": {
     "auth_ref": [
      "r768"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Documents incorporated by reference.",
        "label": "Documents Incorporated by Reference [Text Block]"
       }
      }
     },
     "localname": "DocumentsIncorporatedByReferenceTextBlock",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "presentation": [
      "http://flexiblesolutions.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/2023",
     "presentation": [
      "http://flexiblesolutions.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/2023",
     "presentation": [
      "http://flexiblesolutions.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/2023",
     "presentation": [
      "http://flexiblesolutions.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/2023",
     "presentation": [
      "http://flexiblesolutions.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/2023",
     "presentation": [
      "http://flexiblesolutions.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/2023",
     "presentation": [
      "http://flexiblesolutions.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/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "xbrltype": "stateOrProvinceItemType"
    },
    "dei_EntityBankruptcyProceedingsReportingCurrent": {
     "auth_ref": [
      "r771"
     ],
     "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/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_EntityCentralIndexKey": {
     "auth_ref": [
      "r767"
     ],
     "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/2023",
     "presentation": [
      "http://flexiblesolutions.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/2023",
     "presentation": [
      "http://flexiblesolutions.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/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "xbrltype": "yesNoItemType"
    },
    "dei_EntityDomain": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "All the names of the entities being reported upon in a document. Any legal structure used to conduct activities or to hold assets. Some examples of such structures are corporations, partnerships, limited liability companies, grantor trusts, and other trusts. This item does not include business and geographical segments which are included in the geographical or business segments domains."
       }
      }
     },
     "localname": "EntityDomain",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/Investments.DetailsNarrative",
      "http://flexiblesolutions.com/role/Investments.Tables",
      "http://flexiblesolutions.com/role/LongTermDebt.DetailsNarrative",
      "http://flexiblesolutions.com/role/ScheduleOfEquityMethodInvestmentDetails",
      "http://flexiblesolutions.com/role/ScheduleOfGoodwillAndIndefiniteLivedIntangibleAssetsDetails",
      "http://flexiblesolutions.com/role/Short-termLineOfCredit.DetailsNarrative"
     ],
     "xbrltype": "domainItemType"
    },
    "dei_EntityEmergingGrowthCompany": {
     "auth_ref": [
      "r767"
     ],
     "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/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_EntityExTransitionPeriod": {
     "auth_ref": [
      "r784"
     ],
     "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/2023",
     "presentation": [
      "http://flexiblesolutions.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/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "xbrltype": "fileNumberItemType"
    },
    "dei_EntityFilerCategory": {
     "auth_ref": [
      "r767"
     ],
     "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/2023",
     "presentation": [
      "http://flexiblesolutions.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/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "xbrltype": "edgarStateCountryItemType"
    },
    "dei_EntityInteractiveDataCurrent": {
     "auth_ref": [
      "r781"
     ],
     "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/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "xbrltype": "yesNoItemType"
    },
    "dei_EntityPrimarySicNumber": {
     "auth_ref": [
      "r779"
     ],
     "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/2023",
     "presentation": [
      "http://flexiblesolutions.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/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "xbrltype": "monetaryItemType"
    },
    "dei_EntityRegistrantName": {
     "auth_ref": [
      "r767"
     ],
     "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/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_EntityShellCompany": {
     "auth_ref": [
      "r767"
     ],
     "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/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_EntitySmallBusiness": {
     "auth_ref": [
      "r767"
     ],
     "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/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_EntityTaxIdentificationNumber": {
     "auth_ref": [
      "r767"
     ],
     "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/2023",
     "presentation": [
      "http://flexiblesolutions.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/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "xbrltype": "yesNoItemType"
    },
    "dei_EntityWellKnownSeasonedIssuer": {
     "auth_ref": [
      "r782"
     ],
     "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/2023",
     "presentation": [
      "http://flexiblesolutions.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/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_LegalEntityAxis": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The set of legal entities associated with a report.",
        "label": "Legal Entity [Axis]"
       }
      }
     },
     "localname": "LegalEntityAxis",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/Investments.DetailsNarrative",
      "http://flexiblesolutions.com/role/Investments.Tables",
      "http://flexiblesolutions.com/role/LongTermDebt.DetailsNarrative",
      "http://flexiblesolutions.com/role/ScheduleOfEquityMethodInvestmentDetails",
      "http://flexiblesolutions.com/role/ScheduleOfGoodwillAndIndefiniteLivedIntangibleAssetsDetails",
      "http://flexiblesolutions.com/role/Short-termLineOfCredit.DetailsNarrative"
     ],
     "xbrltype": "stringItemType"
    },
    "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/2023",
     "presentation": [
      "http://flexiblesolutions.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/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "xbrltype": "trueItemType"
    },
    "dei_OtherReportingStandardItemNumber": {
     "auth_ref": [
      "r778"
     ],
     "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/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "xbrltype": "otherReportingStandardItemNumberItemType"
    },
    "dei_PreCommencementIssuerTenderOffer": {
     "auth_ref": [
      "r772"
     ],
     "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/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_PreCommencementTenderOffer": {
     "auth_ref": [
      "r773"
     ],
     "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/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_Security12bTitle": {
     "auth_ref": [
      "r766"
     ],
     "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/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "xbrltype": "securityTitleItemType"
    },
    "dei_Security12gTitle": {
     "auth_ref": [
      "r770"
     ],
     "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/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "xbrltype": "securityTitleItemType"
    },
    "dei_SecurityExchangeName": {
     "auth_ref": [
      "r769"
     ],
     "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/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "xbrltype": "edgarExchangeCodeItemType"
    },
    "dei_SecurityReportingObligation": {
     "auth_ref": [
      "r774"
     ],
     "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/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "xbrltype": "securityReportingObligationItemType"
    },
    "dei_SolicitingMaterial": {
     "auth_ref": [
      "r775"
     ],
     "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/2023",
     "presentation": [
      "http://flexiblesolutions.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/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "xbrltype": "tradingSymbolItemType"
    },
    "dei_WrittenCommunications": {
     "auth_ref": [
      "r783"
     ],
     "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/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "xbrltype": "booleanItemType"
    },
    "srt_EquityMethodInvesteeNameDomain": {
     "auth_ref": [
      "r328",
      "r329",
      "r331"
     ],
     "localname": "EquityMethodInvesteeNameDomain",
     "nsuri": "http://fasb.org/srt/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/Investments.DetailsNarrative",
      "http://flexiblesolutions.com/role/SignificantAccountingPoliciesDetailsNarrative"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_MajorCustomersAxis": {
     "auth_ref": [
      "r319",
      "r743",
      "r830",
      "r857",
      "r858"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Customer [Axis]"
       }
      }
     },
     "localname": "MajorCustomersAxis",
     "nsuri": "http://fasb.org/srt/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/SegmentedSignificantCustomerInformationAndEconomicDependencyDetailsNarrative"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_MaximumMember": {
     "auth_ref": [
      "r361",
      "r362",
      "r363",
      "r364",
      "r419",
      "r533",
      "r600",
      "r635",
      "r636",
      "r692",
      "r694",
      "r696",
      "r697",
      "r699",
      "r721",
      "r722",
      "r733",
      "r740",
      "r744",
      "r753",
      "r829",
      "r844",
      "r845",
      "r846",
      "r847",
      "r848",
      "r849"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Maximum [Member]"
       }
      }
     },
     "localname": "MaximumMember",
     "nsuri": "http://fasb.org/srt/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfStockOptionActivitiesDetails",
      "http://flexiblesolutions.com/role/ScheduleOfStockOptionFairValueAssumptionsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_MinimumMember": {
     "auth_ref": [
      "r361",
      "r362",
      "r363",
      "r364",
      "r419",
      "r533",
      "r600",
      "r635",
      "r636",
      "r692",
      "r694",
      "r696",
      "r697",
      "r699",
      "r721",
      "r722",
      "r733",
      "r740",
      "r744",
      "r753",
      "r829",
      "r844",
      "r845",
      "r846",
      "r847",
      "r848",
      "r849"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Minimum [Member]"
       }
      }
     },
     "localname": "MinimumMember",
     "nsuri": "http://fasb.org/srt/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfStockOptionActivitiesDetails",
      "http://flexiblesolutions.com/role/ScheduleOfStockOptionFairValueAssumptionsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_NameOfMajorCustomerDomain": {
     "auth_ref": [
      "r319",
      "r743",
      "r830",
      "r857",
      "r858"
     ],
     "localname": "NameOfMajorCustomerDomain",
     "nsuri": "http://fasb.org/srt/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/SegmentedSignificantCustomerInformationAndEconomicDependencyDetailsNarrative"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_OwnershipAxis": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Ownership [Axis]"
       }
      }
     },
     "localname": "OwnershipAxis",
     "nsuri": "http://fasb.org/srt/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/BasisOfPresentationDetailsNarrative",
      "http://flexiblesolutions.com/role/Investments.DetailsNarrative",
      "http://flexiblesolutions.com/role/Non-controllingInterestsDetailsNarrative",
      "http://flexiblesolutions.com/role/ScheduleOfDistributionsDetails",
      "http://flexiblesolutions.com/role/ScheduleOfNonControllingInterestRelatedToAcquisitionDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_OwnershipDomain": {
     "auth_ref": [],
     "localname": "OwnershipDomain",
     "nsuri": "http://fasb.org/srt/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/BasisOfPresentationDetailsNarrative",
      "http://flexiblesolutions.com/role/Investments.DetailsNarrative",
      "http://flexiblesolutions.com/role/Non-controllingInterestsDetailsNarrative",
      "http://flexiblesolutions.com/role/ScheduleOfDistributionsDetails",
      "http://flexiblesolutions.com/role/ScheduleOfNonControllingInterestRelatedToAcquisitionDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_ProductOrServiceAxis": {
     "auth_ref": [
      "r315",
      "r536",
      "r594",
      "r595",
      "r596",
      "r597",
      "r598",
      "r599",
      "r724",
      "r741",
      "r752",
      "r790",
      "r825",
      "r826",
      "r830",
      "r857"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Product and Service [Axis]"
       }
      }
     },
     "localname": "ProductOrServiceAxis",
     "nsuri": "http://fasb.org/srt/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfReportableSegmentsDetails",
      "http://flexiblesolutions.com/role/SignificantAccountingPoliciesDetailsNarrative"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_ProductsAndServicesDomain": {
     "auth_ref": [
      "r315",
      "r536",
      "r594",
      "r595",
      "r596",
      "r597",
      "r598",
      "r599",
      "r724",
      "r741",
      "r752",
      "r790",
      "r825",
      "r826",
      "r830",
      "r857"
     ],
     "localname": "ProductsAndServicesDomain",
     "nsuri": "http://fasb.org/srt/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfReportableSegmentsDetails",
      "http://flexiblesolutions.com/role/SignificantAccountingPoliciesDetailsNarrative"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_RangeAxis": {
     "auth_ref": [
      "r361",
      "r362",
      "r363",
      "r364",
      "r417",
      "r419",
      "r447",
      "r448",
      "r449",
      "r532",
      "r533",
      "r600",
      "r635",
      "r636",
      "r692",
      "r694",
      "r696",
      "r697",
      "r699",
      "r721",
      "r722",
      "r733",
      "r740",
      "r744",
      "r753",
      "r756",
      "r824",
      "r829",
      "r845",
      "r846",
      "r847",
      "r848",
      "r849"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statistical Measurement [Axis]"
       }
      }
     },
     "localname": "RangeAxis",
     "nsuri": "http://fasb.org/srt/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfStockOptionActivitiesDetails",
      "http://flexiblesolutions.com/role/ScheduleOfStockOptionFairValueAssumptionsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_RangeMember": {
     "auth_ref": [
      "r361",
      "r362",
      "r363",
      "r364",
      "r417",
      "r419",
      "r447",
      "r448",
      "r449",
      "r532",
      "r533",
      "r600",
      "r635",
      "r636",
      "r692",
      "r694",
      "r696",
      "r697",
      "r699",
      "r721",
      "r722",
      "r733",
      "r740",
      "r744",
      "r753",
      "r756",
      "r824",
      "r829",
      "r845",
      "r846",
      "r847",
      "r848",
      "r849"
     ],
     "localname": "RangeMember",
     "nsuri": "http://fasb.org/srt/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfStockOptionActivitiesDetails",
      "http://flexiblesolutions.com/role/ScheduleOfStockOptionFairValueAssumptionsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis": {
     "auth_ref": [
      "r328",
      "r329",
      "r331"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Investment, Name [Axis]"
       }
      }
     },
     "localname": "ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis",
     "nsuri": "http://fasb.org/srt/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/Investments.DetailsNarrative",
      "http://flexiblesolutions.com/role/SignificantAccountingPoliciesDetailsNarrative"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_SegmentGeographicalDomain": {
     "auth_ref": [
      "r317",
      "r318",
      "r632",
      "r633",
      "r634",
      "r693",
      "r695",
      "r698",
      "r700",
      "r712",
      "r713",
      "r714",
      "r715",
      "r716",
      "r717",
      "r718",
      "r719",
      "r720",
      "r725",
      "r742",
      "r756",
      "r830",
      "r857"
     ],
     "localname": "SegmentGeographicalDomain",
     "nsuri": "http://fasb.org/srt/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfLong-livedAssetsAreLocatedInCanadaAndUnitedStatesDetails",
      "http://flexiblesolutions.com/role/ScheduleOfRevenueGeneratedInUnitedStatesAndCanadaDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_StatementGeographicalAxis": {
     "auth_ref": [
      "r317",
      "r318",
      "r632",
      "r633",
      "r634",
      "r693",
      "r695",
      "r698",
      "r700",
      "r708",
      "r712",
      "r713",
      "r714",
      "r715",
      "r716",
      "r717",
      "r718",
      "r719",
      "r720",
      "r725",
      "r742",
      "r756",
      "r830",
      "r857"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Geographical [Axis]"
       }
      }
     },
     "localname": "StatementGeographicalAxis",
     "nsuri": "http://fasb.org/srt/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfLong-livedAssetsAreLocatedInCanadaAndUnitedStatesDetails",
      "http://flexiblesolutions.com/role/ScheduleOfRevenueGeneratedInUnitedStatesAndCanadaDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_TitleOfIndividualAxis": {
     "auth_ref": [
      "r817",
      "r840"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Title of Individual [Axis]"
       }
      }
     },
     "localname": "TitleOfIndividualAxis",
     "nsuri": "http://fasb.org/srt/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/CapitalStockDetailsNarrative",
      "http://flexiblesolutions.com/role/StockOptions.DetailsNarrative"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_TitleOfIndividualWithRelationshipToEntityDomain": {
     "auth_ref": [],
     "localname": "TitleOfIndividualWithRelationshipToEntityDomain",
     "nsuri": "http://fasb.org/srt/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/CapitalStockDetailsNarrative",
      "http://flexiblesolutions.com/role/StockOptions.DetailsNarrative"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_AccountingPoliciesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounting Policies [Abstract]"
       }
      }
     },
     "localname": "AccountingPoliciesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "xbrltype": "stringItemType"
    },
    "us-gaap_AccountsAndNotesReceivableNet": {
     "auth_ref": [
      "r321",
      "r856"
     ],
     "calculation": {
      "http://flexiblesolutions.com/role/ScheduleOfAccountsReceivableDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, after allowance for credit loss, of accounts and financing receivable. Includes, but is not limited to, notes and loan receivable.",
        "label": "Accounts and Financing Receivable, after Allowance for Credit Loss",
        "totalLabel": "Total accounts receivable"
       }
      }
     },
     "localname": "AccountsAndNotesReceivableNet",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfAccountsReceivableDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccountsPayableCurrent": {
     "auth_ref": [
      "r31",
      "r751"
     ],
     "calculation": {
      "http://flexiblesolutions.com/role/InterimConsolidatedBalanceSheets": {
       "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/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock": {
     "auth_ref": [
      "r821"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of allowance for credit loss on accounts receivable.",
        "label": "SCHEDULE OF ACCOUNTS RECEIVABLE"
       }
      }
     },
     "localname": "AccountsReceivableAllowanceForCreditLossTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/AccountsReceivable.Tables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_AccountsReceivableGross": {
     "auth_ref": [
      "r222",
      "r321",
      "r856"
     ],
     "calculation": {
      "http://flexiblesolutions.com/role/ScheduleOfAccountsReceivableDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_AccountsAndNotesReceivableNet",
       "weight": 1.0
      }
     },
     "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.",
        "label": "Accounts receivable"
       }
      }
     },
     "localname": "AccountsReceivableGross",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfAccountsReceivableDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccountsReceivableMember": {
     "auth_ref": [
      "r710"
     ],
     "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/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/SegmentedSignificantCustomerInformationAndEconomicDependencyDetailsNarrative",
      "http://flexiblesolutions.com/role/SignificantAccountingPoliciesDetailsNarrative"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_AccountsReceivableNet": {
     "auth_ref": [
      "r653",
      "r709",
      "r757",
      "r856"
     ],
     "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.",
        "label": "Accounts receivable related parties",
        "verboseLabel": "Accounts receivable, after allowance for credit loss"
       }
      }
     },
     "localname": "AccountsReceivableNet",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/Investments.DetailsNarrative",
      "http://flexiblesolutions.com/role/SegmentedSignificantCustomerInformationAndEconomicDependencyDetailsNarrative"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccountsReceivableNetCurrent": {
     "auth_ref": [
      "r321",
      "r322"
     ],
     "calculation": {
      "http://flexiblesolutions.com/role/InterimConsolidatedBalanceSheets": {
       "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 (Note 4)",
        "verboseLabel": "Accounts receivable"
       }
      }
     },
     "localname": "AccountsReceivableNetCurrent",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedBalanceSheets",
      "http://flexiblesolutions.com/role/Non-controllingInterestsDetailsNarrative"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccruedLiabilitiesCurrent": {
     "auth_ref": [
      "r36"
     ],
     "calculation": {
      "http://flexiblesolutions.com/role/InterimConsolidatedBalanceSheets": {
       "order": 2.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, 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 liabilities"
       }
      }
     },
     "localname": "AccruedLiabilitiesCurrent",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment": {
     "auth_ref": [
      "r77",
      "r213",
      "r571"
     ],
     "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"
       }
      }
     },
     "localname": "AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfPropertyEquipmentAndLeaseholdsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax": {
     "auth_ref": [
      "r42",
      "r43",
      "r131",
      "r223",
      "r566",
      "r605",
      "r608"
     ],
     "calculation": {
      "http://flexiblesolutions.com/role/InterimConsolidatedBalanceSheets": {
       "order": 3.0,
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, after tax, of accumulated increase (decrease) in equity from transaction and other event and circumstance from nonowner source.",
        "label": "Other comprehensive loss"
       }
      }
     },
     "localname": "AccumulatedOtherComprehensiveIncomeLossNetOfTax",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccumulatedOtherComprehensiveIncomeMember": {
     "auth_ref": [
      "r5",
      "r22",
      "r43",
      "r483",
      "r486",
      "r524",
      "r601",
      "r602",
      "r798",
      "r799",
      "r800",
      "r812",
      "r813",
      "r814"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Accumulated increase (decrease) in equity from transactions and other events and circumstances from non-owner sources, attributable to the parent. Excludes net income (loss), and accumulated changes in equity from transactions resulting from investments by owners and distributions to owners.",
        "label": "AOCI Attributable to Parent [Member]"
       }
      }
     },
     "localname": "AccumulatedOtherComprehensiveIncomeMember",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfStockholdersEquity"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_AdditionalPaidInCapital": {
     "auth_ref": [
      "r123",
      "r751",
      "r860"
     ],
     "calculation": {
      "http://flexiblesolutions.com/role/InterimConsolidatedBalanceSheets": {
       "order": 2.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": "Capital in excess of par value"
       }
      }
     },
     "localname": "AdditionalPaidInCapital",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue": {
     "auth_ref": [
      "r89",
      "r90",
      "r422"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase to additional paid-in capital (APIC) for recognition of cost for award under share-based payment arrangement.",
        "label": "Stock-based compensation"
       }
      }
     },
     "localname": "AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfStockholdersEquity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Adjustments to reconcile net income to cash provided by operations:"
       }
      }
     },
     "localname": "AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AllowanceForDoubtfulAccountsPremiumsAndOtherReceivables": {
     "auth_ref": [
      "r818"
     ],
     "calculation": {
      "http://flexiblesolutions.com/role/ScheduleOfAccountsReceivableDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_AccountsAndNotesReceivableNet",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The valuation allowance as of the balance sheet date to reduce the gross amount of receivables to estimated net realizable value, which would be presented in parentheses on the face of the balance sheet.",
        "label": "Allowance for Doubtful Accounts, Premiums and Other Receivables",
        "negatedLabel": "Allowances for doubtful accounts"
       }
      }
     },
     "localname": "AllowanceForDoubtfulAccountsPremiumsAndOtherReceivables",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfAccountsReceivableDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AmortizationOfIntangibleAssets": {
     "auth_ref": [
      "r12",
      "r71",
      "r75"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The aggregate expense charged against earnings to allocate the cost of intangible assets (nonphysical assets not used in production) in a systematic and rational manner to the periods expected to benefit from such assets. As a noncash expense, this element is added back to net income when calculating cash provided by or used in operations using the indirect method.",
        "label": "Amortization",
        "verboseLabel": "Amortization of intangible assets"
       }
      }
     },
     "localname": "AmortizationOfIntangibleAssets",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/Patents.DetailsNarrative",
      "http://flexiblesolutions.com/role/ScheduleOfGoodwillAndIndefiniteLivedIntangibleAssetsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ArrangementsAndNonarrangementTransactionsMember": {
     "auth_ref": [
      "r474"
     ],
     "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/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfDistributionsDetails",
      "http://flexiblesolutions.com/role/ScheduleOfNonControllingInterestRelatedToAcquisitionDetails",
      "http://flexiblesolutions.com/role/Short-termLineOfCredit.DetailsNarrative"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_Assets": {
     "auth_ref": [
      "r171",
      "r216",
      "r251",
      "r290",
      "r305",
      "r311",
      "r332",
      "r365",
      "r366",
      "r367",
      "r368",
      "r369",
      "r370",
      "r371",
      "r372",
      "r373",
      "r476",
      "r480",
      "r497",
      "r562",
      "r658",
      "r751",
      "r764",
      "r827",
      "r828",
      "r842"
     ],
     "calculation": {
      "http://flexiblesolutions.com/role/InterimConsolidatedBalanceSheets": {
       "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/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AssetsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Assets"
       }
      }
     },
     "localname": "AssetsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedBalanceSheets"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AssetsCurrent": {
     "auth_ref": [
      "r208",
      "r227",
      "r251",
      "r332",
      "r365",
      "r366",
      "r367",
      "r368",
      "r369",
      "r370",
      "r371",
      "r372",
      "r373",
      "r476",
      "r480",
      "r497",
      "r751",
      "r827",
      "r828",
      "r842"
     ],
     "calculation": {
      "http://flexiblesolutions.com/role/InterimConsolidatedBalanceSheets": {
       "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/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AssetsCurrentAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Current"
       }
      }
     },
     "localname": "AssetsCurrentAbstract",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedBalanceSheets"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AutomobilesMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Vehicles that are used primarily for transporting people.",
        "label": "Automobiles [Member]"
       }
      }
     },
     "localname": "AutomobilesMember",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfMethodOfDepreciationDetails",
      "http://flexiblesolutions.com/role/ScheduleOfPropertyEquipmentAndLeaseholdsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_BuildingAndBuildingImprovementsMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Facility held for productive use including, but not limited to, office, production, storage and distribution facilities and any addition, improvement, or renovation to the structure, for example, but not limited to, interior masonry, interior flooring, electrical, and plumbing.",
        "label": "Building and Building Improvements [Member]"
       }
      }
     },
     "localname": "BuildingAndBuildingImprovementsMember",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfMethodOfDepreciationDetails",
      "http://flexiblesolutions.com/role/ScheduleOfPropertyEquipmentAndLeaseholdsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_BusinessCombinationConsiderationTransferred1": {
     "auth_ref": [
      "r2",
      "r3",
      "r18"
     ],
     "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": "Purchase consideration"
       }
      }
     },
     "localname": "BusinessCombinationConsiderationTransferred1",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfFairValuesOfAssetsAcquiredAndLiabilitiesAssumedDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets": {
     "auth_ref": [
      "r93"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of assets acquired at the acquisition date.",
        "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Assets",
        "periodEndLabel": "Total identifiable net assets:"
       }
      }
     },
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfFairValuesOfAssetsAcquiredAndLiabilitiesAssumedDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedBuildings": {
     "auth_ref": [
      "r93"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of facility held for productive use including, but not limited to, office, production, storage and distribution facilities, acquired at the acquisition date.",
        "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Buildings",
        "periodEndLabel": "Building"
       }
      }
     },
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedBuildings",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfFairValuesOfAssetsAcquiredAndLiabilitiesAssumedDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents": {
     "auth_ref": [
      "r93"
     ],
     "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": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Cash and Equivalents",
        "periodEndLabel": "Cash"
       }
      }
     },
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfFairValuesOfAssetsAcquiredAndLiabilitiesAssumedDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities": {
     "auth_ref": [
      "r93"
     ],
     "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",
        "negatedPeriodEndLabel": "Deferred tax liability"
       }
      }
     },
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfFairValuesOfAssetsAcquiredAndLiabilitiesAssumedDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLand": {
     "auth_ref": [
      "r93"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of real estate acquired, at the acquisition date.",
        "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Land",
        "periodEndLabel": "Land"
       }
      }
     },
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLand",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfFairValuesOfAssetsAcquiredAndLiabilitiesAssumedDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_BusinessDescriptionAndBasisOfPresentationTextBlock": {
     "auth_ref": [
      "r117",
      "r148",
      "r149"
     ],
     "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": "BASIS OF PRESENTATION"
       }
      }
     },
     "localname": "BusinessDescriptionAndBasisOfPresentationTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/BasisOfPresentation"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_CanadaRevenueAgencyMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Designated tax department of the government of Canada.",
        "label": "Canada Revenue Agency [Member]"
       }
      }
     },
     "localname": "CanadaRevenueAgencyMember",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/StockOptions.DetailsNarrative"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_Cash": {
     "auth_ref": [
      "r182",
      "r564",
      "r630",
      "r652",
      "r751",
      "r764",
      "r791"
     ],
     "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. Excludes cash and cash equivalents within disposal group and discontinued operation.",
        "label": "Cash"
       }
      }
     },
     "localname": "Cash",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/Investments.DetailsNarrative"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CashAndCashEquivalentsAtCarryingValue": {
     "auth_ref": [
      "r51",
      "r211",
      "r726"
     ],
     "calculation": {
      "http://flexiblesolutions.com/role/InterimConsolidatedBalanceSheets": {
       "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/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CashAndCashEquivalentsPolicyTextBlock": {
     "auth_ref": [
      "r53"
     ],
     "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/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/SignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash and cash equivalents are comprised of:"
       }
      }
     },
     "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations": {
     "auth_ref": [
      "r51",
      "r145",
      "r247"
     ],
     "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 resources",
        "periodStartLabel": "Cash and cash equivalents, beginning"
       }
      }
     },
     "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect": {
     "auth_ref": [
      "r4",
      "r145"
     ],
     "calculation": {
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfCashFlows": {
       "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": "Inflow (outflow) of cash"
       }
      }
     },
     "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CashEquivalentsAtCarryingValue": {
     "auth_ref": [
      "r791",
      "r855"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of 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 Equivalents, at Carrying Value",
        "periodEndLabel": "Cash and cash equivalents"
       }
      }
     },
     "localname": "CashEquivalentsAtCarryingValue",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ClassOfStockDomain": {
     "auth_ref": [
      "r202",
      "r219",
      "r220",
      "r221",
      "r251",
      "r276",
      "r277",
      "r279",
      "r281",
      "r284",
      "r285",
      "r332",
      "r365",
      "r367",
      "r368",
      "r369",
      "r372",
      "r373",
      "r393",
      "r394",
      "r396",
      "r399",
      "r405",
      "r497",
      "r612",
      "r613",
      "r614",
      "r615",
      "r619",
      "r620",
      "r621",
      "r622",
      "r623",
      "r624",
      "r625",
      "r626",
      "r627",
      "r628",
      "r629",
      "r631",
      "r644",
      "r667",
      "r686",
      "r701",
      "r702",
      "r703",
      "r704",
      "r705",
      "r786",
      "r808",
      "r815"
     ],
     "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/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/Investments.DetailsNarrative"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_CommitmentsAndContingenciesPolicyTextBlock": {
     "auth_ref": [
      "r78",
      "r711"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for commitments and contingencies, which may include policies for recognizing and measuring loss and gain contingencies.",
        "label": "Contingencies"
       }
      }
     },
     "localname": "CommitmentsAndContingenciesPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/SignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_CommonClassBMember": {
     "auth_ref": [
      "r865"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Classification of common stock that has different rights than Common Class A, representing ownership interest in a corporation.",
        "label": "Common Class B [Member]"
       }
      }
     },
     "localname": "CommonClassBMember",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/Investments.DetailsNarrative"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_CommonStockMember": {
     "auth_ref": [
      "r754",
      "r755",
      "r756",
      "r758",
      "r759",
      "r760",
      "r761",
      "r812",
      "r813",
      "r834",
      "r859",
      "r865"
     ],
     "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/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfStockholdersEquity"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_CommonStockParOrStatedValuePerShare": {
     "auth_ref": [
      "r122"
     ],
     "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/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedBalanceSheetsParenthetical"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_CommonStockSharesAuthorized": {
     "auth_ref": [
      "r122",
      "r644"
     ],
     "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/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedBalanceSheetsParenthetical"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_CommonStockSharesIssued": {
     "auth_ref": [
      "r122"
     ],
     "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/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedBalanceSheetsParenthetical"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_CommonStockSharesOutstanding": {
     "auth_ref": [
      "r24",
      "r122",
      "r644",
      "r664",
      "r865",
      "r866"
     ],
     "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/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedBalanceSheetsParenthetical"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_CommonStockValue": {
     "auth_ref": [
      "r122",
      "r565",
      "r751"
     ],
     "calculation": {
      "http://flexiblesolutions.com/role/InterimConsolidatedBalanceSheets": {
       "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 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": "Authorized: 50,000,000 common shares with a par value of $0.001 each; 1,000,000 preferred shares with a par value of $0.01 each 12,435,532 (December 31, 2022: 12,426,260) common shares"
       }
      }
     },
     "localname": "CommonStockValue",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CommunicationsAndInformationTechnology": {
     "auth_ref": [
      "r139"
     ],
     "calculation": {
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfOperationsAndComprehensiveIncome": {
       "order": 14.0,
       "parentTag": "us-gaap_OperatingExpenses",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount of expense in the period for communications and data processing expense.",
        "label": "Telecommunications"
       }
      }
     },
     "localname": "CommunicationsAndInformationTechnology",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfOperationsAndComprehensiveIncome"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CompensationRelatedCostsPolicyTextBlock": {
     "auth_ref": [
      "r87"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for salaries, bonuses, incentive awards, postretirement and postemployment benefits granted to employees, including equity-based arrangements; discloses methodologies for measurement, and the bases for recognizing related assets and liabilities and recognizing and reporting compensation expense.",
        "label": "Stock-based Compensation"
       }
      }
     },
     "localname": "CompensationRelatedCostsPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/SignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ComprehensiveIncomeNetOfTax": {
     "auth_ref": [
      "r44",
      "r229",
      "r231",
      "r240",
      "r557",
      "r579"
     ],
     "calculation": {
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfOperationsAndComprehensiveIncome": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount after tax of increase (decrease) in equity from transactions and other events and circumstances from net income and other comprehensive income, attributable to parent entity. Excludes changes in equity resulting from investments by owners and distributions to owners.",
        "label": "Comprehensive Income (Loss), Net of Tax, Attributable to Parent",
        "totalLabel": "Comprehensive income attributable to Flexible Solutions International Inc."
       }
      }
     },
     "localname": "ComprehensiveIncomeNetOfTax",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfOperationsAndComprehensiveIncome"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest": {
     "auth_ref": [
      "r9",
      "r98",
      "r101",
      "r229",
      "r231",
      "r239",
      "r556",
      "r578"
     ],
     "calculation": {
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfOperationsAndComprehensiveIncome": {
       "order": 2.0,
       "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount after tax of increase (decrease) in equity from transactions and other events and circumstances from net income (loss) and other comprehensive income (loss), attributable to noncontrolling interests. Excludes changes in equity resulting from investments by owners and distributions to owners.",
        "label": "Comprehensive Income (Loss), Net of Tax, Attributable to Noncontrolling Interest",
        "negatedLabel": "Comprehensive income \u2013 non-controlling interest"
       }
      }
     },
     "localname": "ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfOperationsAndComprehensiveIncome"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest": {
     "auth_ref": [
      "r101",
      "r169",
      "r229",
      "r231",
      "r238",
      "r555",
      "r577"
     ],
     "calculation": {
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfOperationsAndComprehensiveIncome": {
       "order": 1.0,
       "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount after tax of increase (decrease) in equity from transactions and other events and circumstances from net income and other comprehensive income. Excludes changes in equity resulting from investments by owners and distributions to owners.",
        "label": "Comprehensive Income (Loss), Net of Tax, Including Portion Attributable to Noncontrolling Interest",
        "totalLabel": "Total comprehensive income"
       }
      }
     },
     "localname": "ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfOperationsAndComprehensiveIncome"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ComprehensiveIncomePolicyPolicyTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for comprehensive income.",
        "label": "Other Comprehensive Income."
       }
      }
     },
     "localname": "ComprehensiveIncomePolicyPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/SignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ComputerEquipmentMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Long lived, depreciable assets that are used in the creation, maintenance and utilization of information systems.",
        "label": "Computer Equipment [Member]"
       }
      }
     },
     "localname": "ComputerEquipmentMember",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfMethodOfDepreciationDetails",
      "http://flexiblesolutions.com/role/ScheduleOfPropertyEquipmentAndLeaseholdsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ConcentrationRiskBenchmarkDomain": {
     "auth_ref": [
      "r58",
      "r59",
      "r105",
      "r106",
      "r319",
      "r710"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The denominator in a calculation of a disclosed concentration risk percentage."
       }
      }
     },
     "localname": "ConcentrationRiskBenchmarkDomain",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/SegmentedSignificantCustomerInformationAndEconomicDependencyDetailsNarrative",
      "http://flexiblesolutions.com/role/SignificantAccountingPoliciesDetailsNarrative"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ConcentrationRiskByBenchmarkAxis": {
     "auth_ref": [
      "r58",
      "r59",
      "r105",
      "r106",
      "r319",
      "r609",
      "r710"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by benchmark of concentration risk.",
        "label": "Concentration Risk Benchmark [Axis]"
       }
      }
     },
     "localname": "ConcentrationRiskByBenchmarkAxis",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/SegmentedSignificantCustomerInformationAndEconomicDependencyDetailsNarrative",
      "http://flexiblesolutions.com/role/SignificantAccountingPoliciesDetailsNarrative"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ConcentrationRiskByTypeAxis": {
     "auth_ref": [
      "r58",
      "r59",
      "r105",
      "r106",
      "r319",
      "r710",
      "r789"
     ],
     "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/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/SignificantAccountingPoliciesDetailsNarrative"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ConcentrationRiskCreditRisk": {
     "auth_ref": [
      "r115",
      "r189"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for credit risk.",
        "label": "Risk Management."
       }
      }
     },
     "localname": "ConcentrationRiskCreditRisk",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/SignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ConcentrationRiskTypeDomain": {
     "auth_ref": [
      "r58",
      "r59",
      "r105",
      "r106",
      "r319",
      "r710"
     ],
     "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/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/SignificantAccountingPoliciesDetailsNarrative"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems": {
     "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": "Consolidation, Less than Wholly Owned Subsidiary, Parent Ownership Interest, Effects of Changes, Net [Line Items]"
       }
      }
     },
     "localname": "ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/Non-controllingInterestsDetailsNarrative",
      "http://flexiblesolutions.com/role/ScheduleOfDistributionsDetails",
      "http://flexiblesolutions.com/role/ScheduleOfNonControllingInterestRelatedToAcquisitionDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTable": {
     "auth_ref": [
      "r23",
      "r102"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Summarization of information required and determined to be disclosed concerning the effects of any changes in a parent's ownership interest in a subsidiary on the equity attributable to the parent which may have occurred during the period. The changes represented by this element did not result in the deconsolidation of the subsidiary.",
        "label": "Consolidation, Less than Wholly Owned Subsidiary, Parent Ownership Interest, Effects of Changes, Net [Table]"
       }
      }
     },
     "localname": "ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTable",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/Non-controllingInterestsDetailsNarrative",
      "http://flexiblesolutions.com/role/ScheduleOfDistributionsDetails",
      "http://flexiblesolutions.com/role/ScheduleOfNonControllingInterestRelatedToAcquisitionDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_CostOfGoodsAndServicesSold": {
     "auth_ref": [
      "r137",
      "r536"
     ],
     "calculation": {
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfOperationsAndComprehensiveIncome": {
       "order": 2.0,
       "parentTag": "us-gaap_GrossProfit",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The aggregate costs related to goods produced and sold and services rendered by an entity during the reporting period. This excludes costs incurred during the reporting period related to financial services rendered and other revenue generating activities.",
        "label": "Cost of sales"
       }
      }
     },
     "localname": "CostOfGoodsAndServicesSold",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfOperationsAndComprehensiveIncome",
      "http://flexiblesolutions.com/role/SignificantAccountingPoliciesDetailsNarrative"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CreditFacilityAxis": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of credit facility. Credit facilities provide capital to borrowers without the need to structure a loan for each borrowing.",
        "label": "Credit Facility [Axis]"
       }
      }
     },
     "localname": "CreditFacilityAxis",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/Short-termLineOfCredit.DetailsNarrative"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_CreditFacilityDomain": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Type of credit facility. Credit facilities provide capital to borrowers without the need to structure a loan for each borrowing."
       }
      }
     },
     "localname": "CreditFacilityDomain",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/Short-termLineOfCredit.DetailsNarrative"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_CustomerRelationshipsMember": {
     "auth_ref": [
      "r95"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Customer relationship that exists between an entity and its customer, for example, but not limited to, tenant relationships.",
        "label": "Customer Relationships [Member]"
       }
      }
     },
     "localname": "CustomerRelationshipsMember",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfMethodOfDepreciationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_DebtDefaultLongtermDebtAmount": {
     "auth_ref": [
      "r249"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of outstanding long-term debt or borrowing associated with any securities or credit agreement for which there has been a default in principal, interest, sinking fund, or redemption provisions, or any breach of covenant that existed at the end of the period and subsequently has not been cured.",
        "label": "Debt Long term debt amount"
       }
      }
     },
     "localname": "DebtDefaultLongtermDebtAmount",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/LongTermDebt.DetailsNarrative"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DebtDisclosureAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt Disclosure [Abstract]"
       }
      }
     },
     "localname": "DebtDisclosureAbstract",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "xbrltype": "stringItemType"
    },
    "us-gaap_DebtInstrumentAxis": {
     "auth_ref": [
      "r29",
      "r119",
      "r120",
      "r172",
      "r173",
      "r254",
      "r374",
      "r375",
      "r376",
      "r377",
      "r378",
      "r379",
      "r380",
      "r381",
      "r382",
      "r383",
      "r384",
      "r385",
      "r386",
      "r387",
      "r388",
      "r389",
      "r513",
      "r735",
      "r736",
      "r737",
      "r738",
      "r739",
      "r809"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of debt instrument, including, but not limited to, draws against credit facilities.",
        "label": "Debt Instrument [Axis]"
       }
      }
     },
     "localname": "DebtInstrumentAxis",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/LongTermDebt.DetailsNarrative"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DebtInstrumentFaceAmount": {
     "auth_ref": [
      "r109",
      "r111",
      "r374",
      "r513",
      "r736",
      "r737"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Face (par) amount of debt instrument at time of issuance.",
        "label": "Debt face amount",
        "verboseLabel": "Debt instrument face amount"
       }
      }
     },
     "localname": "DebtInstrumentFaceAmount",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/LongTermDebt.DetailsNarrative",
      "http://flexiblesolutions.com/role/Short-termLineOfCredit.DetailsNarrative"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DebtInstrumentInterestRateStatedPercentage": {
     "auth_ref": [
      "r38",
      "r375"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Contractual interest rate for funds borrowed, under the debt agreement.",
        "label": "Interest rate",
        "verboseLabel": "Debt instrument interest rate stated percentage"
       }
      }
     },
     "localname": "DebtInstrumentInterestRateStatedPercentage",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/LongTermDebt.DetailsNarrative",
      "http://flexiblesolutions.com/role/Short-termLineOfCredit.DetailsNarrative"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_DebtInstrumentMaturityDate": {
     "auth_ref": [
      "r198",
      "r735",
      "r835"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Date when the debt instrument is scheduled to be fully repaid, in YYYY-MM-DD format.",
        "label": "Debt maturity date"
       }
      }
     },
     "localname": "DebtInstrumentMaturityDate",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/Investments.DetailsNarrative"
     ],
     "xbrltype": "dateItemType"
    },
    "us-gaap_DebtInstrumentNameDomain": {
     "auth_ref": [
      "r39",
      "r254",
      "r374",
      "r375",
      "r376",
      "r377",
      "r378",
      "r379",
      "r380",
      "r381",
      "r382",
      "r383",
      "r384",
      "r385",
      "r386",
      "r387",
      "r388",
      "r389",
      "r513",
      "r735",
      "r736",
      "r737",
      "r738",
      "r739",
      "r809"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The name for the particular debt instrument or borrowing that distinguishes it from other debt instruments or borrowings, including draws against credit facilities."
       }
      }
     },
     "localname": "DebtInstrumentNameDomain",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/LongTermDebt.DetailsNarrative"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_DebtInstrumentTerm": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Period of time between issuance and maturity of debt instrument, in PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.",
        "label": "Debt instrument term"
       }
      }
     },
     "localname": "DebtInstrumentTerm",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/LongTermDebt.DetailsNarrative"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_DeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsLineItems": {
     "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": "Deferred Compensation Arrangement with Individual, Excluding Share-Based Payments and Postretirement Benefits [Line Items]"
       }
      }
     },
     "localname": "DeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsLineItems",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/CapitalStockDetailsNarrative",
      "http://flexiblesolutions.com/role/StockOptions.DetailsNarrative"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DeferredIncomeTaxAssetsNet": {
     "auth_ref": [
      "r461",
      "r462"
     ],
     "calculation": {
      "http://flexiblesolutions.com/role/InterimConsolidatedBalanceSheets": {
       "order": 8.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/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredIncomeTaxLiabilitiesNet": {
     "auth_ref": [
      "r461",
      "r462",
      "r563"
     ],
     "calculation": {
      "http://flexiblesolutions.com/role/InterimConsolidatedBalanceSheets": {
       "order": 3.0,
       "parentTag": "us-gaap_Liabilities",
       "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 income tax liability"
       }
      }
     },
     "localname": "DeferredIncomeTaxLiabilitiesNet",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredIncomeTaxesAndTaxCreditsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income taxes"
       }
      }
     },
     "localname": "DeferredIncomeTaxesAndTaxCreditsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfOperationsAndComprehensiveIncome"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DeferredRevenueCurrent": {
     "auth_ref": [
      "r794"
     ],
     "calculation": {
      "http://flexiblesolutions.com/role/InterimConsolidatedBalanceSheets": {
       "order": 3.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of deferred income and obligation to transfer product and service to customer for which consideration has been received or is receivable, classified as current.",
        "label": "Deferred revenue"
       }
      }
     },
     "localname": "DeferredRevenueCurrent",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DefinedBenefitPlanDisclosureLineItems": {
     "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": "Defined Benefit Plan Disclosure [Line Items]"
       }
      }
     },
     "localname": "DefinedBenefitPlanDisclosureLineItems",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfOutstandingBalanceLoanDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_Deposits": {
     "auth_ref": [
      "r112"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The aggregate of all deposit liabilities held by the entity, including foreign and domestic, interest and noninterest bearing; may include demand deposits, saving deposits, Negotiable Order of Withdrawal (NOW) and time deposits among others.",
        "label": "Deposit"
       }
      }
     },
     "localname": "Deposits",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/SignificantAccountingPoliciesDetailsNarrative"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DepositsAssetsCurrent": {
     "auth_ref": [
      "r797"
     ],
     "calculation": {
      "http://flexiblesolutions.com/role/InterimConsolidatedBalanceSheets": {
       "order": 2.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying value of amounts transferred to third parties for security purposes that are expected to be returned or applied towards payment within one year or during the operating cycle, if shorter.",
        "label": "Term deposits"
       }
      }
     },
     "localname": "DepositsAssetsCurrent",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DepositsAssetsNoncurrent": {
     "auth_ref": [
      "r793"
     ],
     "calculation": {
      "http://flexiblesolutions.com/role/InterimConsolidatedBalanceSheets": {
       "order": 5.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying value of amounts transferred to third parties for security purposes that are expected to be returned or applied towards payment after one year or beyond the operating cycle, if longer.",
        "label": "Long term deposits (Note 9)",
        "verboseLabel": "Long term deposits"
       }
      }
     },
     "localname": "DepositsAssetsNoncurrent",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedBalanceSheets",
      "http://flexiblesolutions.com/role/ScheduleOfLongTermDepositsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_Depreciation": {
     "auth_ref": [
      "r12",
      "r76"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount of expense recognized in the current period that reflects the allocation of the cost of tangible assets over the assets' useful lives. Includes production and non-production related depreciation.",
        "label": "Depreciation"
       }
      }
     },
     "localname": "Depreciation",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/PropertyEquipmentLeaseholds.DetailsNarrative"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DepreciationAndAmortization": {
     "auth_ref": [
      "r12",
      "r76"
     ],
     "calculation": {
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfCashFlows": {
       "order": 3.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The current period expense charged against earnings on long-lived, physical assets not used in production, and which are not intended for resale, to allocate or recognize the cost of such assets over their useful lives; or to record the reduction in book value of an intangible asset over the benefit period of such asset; or to reflect consumption during the period of an asset that is not used in production.",
        "label": "Depreciation and amortization"
       }
      }
     },
     "localname": "DepreciationAndAmortization",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DepreciationNonproduction": {
     "auth_ref": [
      "r12",
      "r76"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The expense recognized in the current period that allocates the cost of nonproduction tangible assets over their useful lives.",
        "label": "Depreciation, Nonproduction",
        "verboseLabel": "Depreciation and amortization"
       }
      }
     },
     "localname": "DepreciationNonproduction",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfReportableSegmentsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DevelopedTechnologyRightsMember": {
     "auth_ref": [
      "r167"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Rights to developed technology, which can include the right to develop, use, market, sell, or offer for sale products, compounds, or intellectual property.",
        "label": "Developed Technology Rights [Member]"
       }
      }
     },
     "localname": "DevelopedTechnologyRightsMember",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfPropertyEquipmentAndLeaseholdsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock": {
     "auth_ref": [
      "r420",
      "r424",
      "r451",
      "r452",
      "r454",
      "r745"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for share-based payment arrangement.",
        "label": "STOCK OPTIONS."
       }
      }
     },
     "localname": "DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/StockOptions."
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Payment Arrangement [Abstract]"
       }
      }
     },
     "localname": "DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "xbrltype": "stringItemType"
    },
    "us-gaap_Dividends": {
     "auth_ref": [
      "r8",
      "r163"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of paid and unpaid cash, stock, and paid-in-kind (PIK) dividends declared, for example, but not limited to, common and preferred stock.",
        "label": "Dividends",
        "negatedLabel": "Dividends paid"
       }
      }
     },
     "localname": "Dividends",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfStockholdersEquity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DividendsPayableAmountPerShare": {
     "auth_ref": [
      "r55"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The per share amount of a dividend declared, but not paid, as of the financial reporting date.",
        "label": "Dividends per share"
       }
      }
     },
     "localname": "DividendsPayableAmountPerShare",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/CapitalStockDetailsNarrative"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_EarningsPerShareBasic": {
     "auth_ref": [
      "r241",
      "r264",
      "r265",
      "r266",
      "r267",
      "r268",
      "r274",
      "r276",
      "r279",
      "r280",
      "r281",
      "r282",
      "r492",
      "r493",
      "r558",
      "r580",
      "r730"
     ],
     "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": "Income per share (basic)"
       }
      }
     },
     "localname": "EarningsPerShareBasic",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfOperationsAndComprehensiveIncome"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_EarningsPerShareDiluted": {
     "auth_ref": [
      "r241",
      "r264",
      "r265",
      "r266",
      "r267",
      "r268",
      "r276",
      "r279",
      "r280",
      "r281",
      "r282",
      "r492",
      "r493",
      "r558",
      "r580",
      "r730"
     ],
     "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": "Income per share (diluted)"
       }
      }
     },
     "localname": "EarningsPerShareDiluted",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfOperationsAndComprehensiveIncome"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_EarningsPerSharePolicyTextBlock": {
     "auth_ref": [
      "r56",
      "r57"
     ],
     "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": "Income Per Share"
       }
      }
     },
     "localname": "EarningsPerSharePolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/SignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations": {
     "auth_ref": [
      "r837"
     ],
     "calculation": {
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfCashFlows": {
       "order": 4.0,
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase (decrease) from effect of exchange rate changes on cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; held in foreign currencies; 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": "Effect of exchange rate changes on cash"
       }
      }
     },
     "localname": "EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized": {
     "auth_ref": [
      "r453"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cost not yet recognized for nonvested award under share-based payment arrangement.",
        "label": "Stock vested compensation non vested"
       }
      }
     },
     "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/StockOptions.DetailsNarrative"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1": {
     "auth_ref": [
      "r453"
     ],
     "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": "Weighted average period expected to be recognized"
       }
      }
     },
     "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/StockOptions.DetailsNarrative"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems": {
     "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": "Revenue from External Customer [Line Items]"
       }
      }
     },
     "localname": "EntityWideInformationRevenueFromExternalCustomerLineItems",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfReportableSegmentsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_EntityWideRevenueMajorCustomerLineItems": {
     "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": "Revenue, Major Customer [Line Items]"
       }
      }
     },
     "localname": "EntityWideRevenueMajorCustomerLineItems",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/SegmentedSignificantCustomerInformationAndEconomicDependencyDetailsNarrative"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_EquityAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Equity [Abstract]"
       }
      }
     },
     "localname": "EquityAbstract",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "xbrltype": "stringItemType"
    },
    "us-gaap_EquityComponentDomain": {
     "auth_ref": [
      "r24",
      "r203",
      "r233",
      "r234",
      "r235",
      "r255",
      "r256",
      "r257",
      "r261",
      "r269",
      "r271",
      "r283",
      "r334",
      "r337",
      "r406",
      "r455",
      "r456",
      "r457",
      "r468",
      "r469",
      "r482",
      "r483",
      "r484",
      "r485",
      "r486",
      "r488",
      "r491",
      "r506",
      "r507",
      "r508",
      "r509",
      "r510",
      "r511",
      "r524",
      "r601",
      "r602",
      "r603",
      "r619",
      "r686"
     ],
     "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/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfStockholdersEquity"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_EquityMethodInvestmentDescriptionOfPrincipalActivities": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "A description of the principal activities of an investee accounted for under the equity method.",
        "label": "Equity method investment, description"
       }
      }
     },
     "localname": "EquityMethodInvestmentDescriptionOfPrincipalActivities",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/SignificantAccountingPoliciesDetailsNarrative"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_EquityMethodInvestmentOwnershipPercentage": {
     "auth_ref": [
      "r328"
     ],
     "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": "Ownership percentage"
       }
      }
     },
     "localname": "EquityMethodInvestmentOwnershipPercentage",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/Investments.DetailsNarrative"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_EquityMethodInvestmentRealizedGainLossOnDisposal": {
     "auth_ref": [
      "r804",
      "r805",
      "r807"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of gain (loss) on sale or disposal of an equity method investment.",
        "label": "Gain in equity method investment"
       }
      }
     },
     "localname": "EquityMethodInvestmentRealizedGainLossOnDisposal",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfEquityMethodInvestmentDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_EquityMethodInvestments": {
     "auth_ref": [
      "r300",
      "r326",
      "r792",
      "r819"
     ],
     "calculation": {
      "http://flexiblesolutions.com/role/InterimConsolidatedBalanceSheets": {
       "order": 6.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "This item represents the carrying amount on the entity's balance sheet of its investment in common stock of an equity method investee. This is not an indicator of the fair value of the investment, rather it is the initial cost adjusted for the entity's share of earnings and losses of the investee, adjusted for any distributions (dividends) and other than temporary impairment (OTTI) losses recognized.",
        "label": "Investments (Note 10)",
        "periodEndLabel": "Balance, Ending",
        "periodStartLabel": "Balance, Beginning"
       }
      }
     },
     "localname": "EquityMethodInvestments",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedBalanceSheets",
      "http://flexiblesolutions.com/role/ScheduleOfEquityMethodInvestmentDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_EquityMethodInvestmentsAndJointVenturesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Equity Method Investments and Joint Ventures [Abstract]"
       }
      }
     },
     "localname": "EquityMethodInvestmentsAndJointVenturesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "xbrltype": "stringItemType"
    },
    "us-gaap_EquityMethodInvestmentsDisclosureTextBlock": {
     "auth_ref": [
      "r200",
      "r330",
      "r333",
      "r787"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for equity method investments and joint ventures. Equity method investments are investments that give the investor the ability to exercise significant influence over the operating and financial policies of an investee. Joint ventures are entities owned and operated by a small group of businesses as a separate and specific business or project for the mutual benefit of the members of the group.",
        "label": "INVESTMENTS."
       }
      }
     },
     "localname": "EquityMethodInvestmentsDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/Investments."
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_EquityMethodInvestmentsPolicy": {
     "auth_ref": [
      "r10",
      "r107",
      "r329"
     ],
     "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 Investment."
       }
      }
     },
     "localname": "EquityMethodInvestmentsPolicy",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/SignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_EquityMethodInvestmentsTextBlock": {
     "auth_ref": [
      "r327"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of equity method investments including, but not limited to, name of each investee or group of investments, percentage ownership, difference between recorded amount of an investment and the value of the underlying equity in the net assets, and summarized financial information.",
        "label": "SCHEDULE OF EQUITY METHOD INVESTMENT"
       }
      }
     },
     "localname": "EquityMethodInvestmentsTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/Investments.Tables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain": {
     "auth_ref": [
      "r25"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Class of asset."
       }
      }
     },
     "localname": "FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfEstimatedFutureAmortizationExpenseDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_FairValueByAssetClassAxis": {
     "auth_ref": [
      "r103",
      "r104"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by class of asset.",
        "label": "Asset Class [Axis]"
       }
      }
     },
     "localname": "FairValueByAssetClassAxis",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfEstimatedFutureAmortizationExpenseDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_FairValueOfFinancialInstrumentsPolicy": {
     "auth_ref": [
      "r15",
      "r28"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for determining the fair value of financial instruments.",
        "label": "Fair Value of Financial Instruments"
       }
      }
     },
     "localname": "FairValueOfFinancialInstrumentsPolicy",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/SignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_FinanceLeaseRightOfUseAssetAmortization": {
     "auth_ref": [
      "r519",
      "r521",
      "r750"
     ],
     "calculation": {
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfCashFlows": {
       "order": 4.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of amortization expense attributable to right-of-use asset from finance lease.",
        "label": "Lease right of use amortization"
       }
      }
     },
     "localname": "FinanceLeaseRightOfUseAssetAmortization",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FinancingReceivablesTextBlock": {
     "auth_ref": [
      "r320",
      "r323",
      "r324",
      "r325",
      "r733"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for financing receivable.",
        "label": "ACCOUNTS RECEIVABLE."
       }
      }
     },
     "localname": "FinancingReceivablesTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/AccountsReceivable."
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization": {
     "auth_ref": [
      "r215",
      "r356"
     ],
     "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": "Accumulated amortization"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsAccumulatedAmortization",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfPatentsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths": {
     "auth_ref": [
      "r154"
     ],
     "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": "Finite-Lived Intangible Asset, Expected Amortization, Year One",
        "verboseLabel": "2024"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfEstimatedFutureAmortizationExpenseDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear": {
     "auth_ref": [],
     "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 remainder of current fiscal year.",
        "label": "Finite-Lived Intangible Asset, Expected Amortization, Remainder of Fiscal Year",
        "verboseLabel": "2023"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfEstimatedFutureAmortizationExpenseDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour": {
     "auth_ref": [
      "r154"
     ],
     "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 fourth 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": "2027"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearFour",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfEstimatedFutureAmortizationExpenseDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree": {
     "auth_ref": [
      "r154"
     ],
     "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": "2026"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearThree",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfEstimatedFutureAmortizationExpenseDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo": {
     "auth_ref": [
      "r154"
     ],
     "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": "Finite-Lived Intangible Asset, Expected Amortization, Year Two",
        "verboseLabel": "2025"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfEstimatedFutureAmortizationExpenseDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis": {
     "auth_ref": [
      "r354",
      "r355",
      "r356",
      "r357",
      "r537",
      "r541"
     ],
     "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/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/Patents.DetailsNarrative"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsLineItems": {
     "auth_ref": [
      "r537"
     ],
     "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/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/Patents.DetailsNarrative"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain": {
     "auth_ref": [
      "r72",
      "r74"
     ],
     "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/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/Patents.DetailsNarrative"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Assets, excluding financial assets, that lack physical substance, having a limited useful life.",
        "label": "Finite-Lived Intangible Assets [Member]"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsMember",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfEstimatedFutureAmortizationExpenseDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsNet": {
     "auth_ref": [
      "r153",
      "r537"
     ],
     "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": "Patents, net"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsNet",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfPatentsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FiniteLivedPatentsGross": {
     "auth_ref": [
      "r153"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Gross carrying amount before accumulated amortization as of the balance sheet date of the costs pertaining to the exclusive legal rights granted to the owner of the patent to exploit an invention or a process for a period of time specified by law. Such costs may have been expended to directly apply and receive patent rights, or to acquire such rights.",
        "label": "Patents, cost"
       }
      }
     },
     "localname": "FiniteLivedPatentsGross",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfPatentsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ForeignCurrencyTransactionGainLossBeforeTax": {
     "auth_ref": [
      "r502",
      "r503",
      "r504",
      "r505",
      "r683"
     ],
     "calculation": {
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfOperationsAndComprehensiveIncome": {
       "order": 13.0,
       "parentTag": "us-gaap_OperatingExpenses",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, before tax, of realized and unrealized gain (loss) from foreign currency transaction.",
        "label": "Gain (Loss), Foreign Currency Transaction, before Tax",
        "negatedLabel": "Currency exchange"
       }
      }
     },
     "localname": "ForeignCurrencyTransactionGainLossBeforeTax",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfOperationsAndComprehensiveIncome"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock": {
     "auth_ref": [
      "r501"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for (1) transactions denominated in a currency other than the reporting enterprise's functional currency, (2) translating foreign currency financial statements that are incorporated into the financial statements of the reporting enterprise by consolidation, combination, or the equity method of accounting, and (3) remeasurement of the financial statements of a foreign reporting enterprise in a hyperinflationary economy.",
        "label": "Foreign Currency"
       }
      }
     },
     "localname": "ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/SignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_GainLossOnInvestments": {
     "auth_ref": [
      "r141",
      "r785"
     ],
     "calculation": {
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfCashFlows": {
       "order": 6.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      },
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfOperationsAndComprehensiveIncome": {
       "order": 3.0,
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of realized and unrealized gain (loss) on investment.",
        "label": "Gain on investment",
        "negatedLabel": "Gain on investment"
       }
      }
     },
     "localname": "GainLossOnInvestments",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfCashFlows",
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfOperationsAndComprehensiveIncome"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_GainLossOnInvestmentsTextBlock": {
     "auth_ref": [
      "r802",
      "r803"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of realized and unrealized gain (loss) on investment in security.",
        "label": "SUMMARY OF PROFIT AND LOSS INFORMATION RELATED TO EQUITY ACCOUNTED INVESTMENT"
       }
      }
     },
     "localname": "GainLossOnInvestmentsTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/Investments.Tables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_GainsLossesOnSalesOfInvestmentRealEstate": {
     "auth_ref": [
      "r183",
      "r184",
      "r186",
      "r804",
      "r805",
      "r807",
      "r851",
      "r864"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The net gain (loss) resulting from sales and other disposals of real estate owned for investment purposes.",
        "label": "Net sales"
       }
      }
     },
     "localname": "GainsLossesOnSalesOfInvestmentRealEstate",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/SummaryOfProfitAndLossInformationRelatedToEquityAccountedInvestmentDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_GeneralInsuranceExpense": {
     "auth_ref": [
      "r139"
     ],
     "calculation": {
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfOperationsAndComprehensiveIncome": {
       "order": 3.0,
       "parentTag": "us-gaap_OperatingExpenses",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The expense in the period incurred with respect to protection provided by insurance entities against risks other than risks associated with production (which are allocated to cost of sales).",
        "label": "Insurance"
       }
      }
     },
     "localname": "GeneralInsuranceExpense",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfOperationsAndComprehensiveIncome"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_Goodwill": {
     "auth_ref": [
      "r214",
      "r343",
      "r554",
      "r734",
      "r751",
      "r822",
      "r823"
     ],
     "calculation": {
      "http://flexiblesolutions.com/role/InterimConsolidatedBalanceSheets": {
       "order": 7.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 (Note 8)",
        "verboseLabel": "Goodwill"
       }
      }
     },
     "localname": "Goodwill",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedBalanceSheets",
      "http://flexiblesolutions.com/role/ScheduleOfGoodwillAndIndefiniteLivedIntangibleAssetsDetails"
     ],
     "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/2023",
     "xbrltype": "stringItemType"
    },
    "us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock": {
     "auth_ref": [
      "r152"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for goodwill and intangible assets.",
        "label": "GOODWILL AND INDEFINITE LIVED INTANGIBLE ASSETS."
       }
      }
     },
     "localname": "GoodwillAndIntangibleAssetsDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/GoodwillAndIndefiniteLivedIntangibleAssets."
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock": {
     "auth_ref": [
      "r17",
      "r69"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for goodwill and intangible assets. This accounting policy also may address how an entity assesses and measures impairment of goodwill and intangible assets.",
        "label": "Goodwill and Intangible Assets"
       }
      }
     },
     "localname": "GoodwillAndIntangibleAssetsPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/SignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_GrossProfit": {
     "auth_ref": [
      "r136",
      "r251",
      "r290",
      "r304",
      "r310",
      "r313",
      "r332",
      "r365",
      "r366",
      "r367",
      "r368",
      "r369",
      "r370",
      "r371",
      "r372",
      "r373",
      "r497",
      "r732",
      "r827"
     ],
     "calculation": {
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfOperationsAndComprehensiveIncome": {
       "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/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfOperationsAndComprehensiveIncome"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ImpairmentEffectsOnEarningsPerShareLineItems": {
     "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": "Impairment Effects on Earnings Per Share [Line Items]"
       }
      }
     },
     "localname": "ImpairmentEffectsOnEarningsPerShareLineItems",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfEstimatedFutureAmortizationExpenseDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ImpairmentEffectsOnEarningsPerShareTable": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of information about the effects of asset impairment charge on per share or per unit basis.",
        "label": "Impairment Effects on Earnings Per Share [Table]"
       }
      }
     },
     "localname": "ImpairmentEffectsOnEarningsPerShareTable",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfEstimatedFutureAmortizationExpenseDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock": {
     "auth_ref": [
      "r0",
      "r158"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for recognizing and measuring the impairment of long-lived assets. An entity also may disclose its accounting policy for long-lived assets to be sold. This policy excludes goodwill and intangible assets.",
        "label": "Impairment of Long-Lived Assets"
       }
      }
     },
     "localname": "ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/SignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest": {
     "auth_ref": [
      "r1",
      "r133",
      "r178",
      "r290",
      "r304",
      "r310",
      "r313",
      "r559",
      "r573",
      "r732"
     ],
     "calculation": {
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfOperationsAndComprehensiveIncome": {
       "order": 1.0,
       "parentTag": "us-gaap_ProfitLoss",
       "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 tax"
       }
      }
     },
     "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfOperationsAndComprehensiveIncome"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncomeStatementAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Statement [Abstract]"
       }
      }
     },
     "localname": "IncomeStatementAbstract",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "xbrltype": "stringItemType"
    },
    "us-gaap_IncomeTaxAuthorityNameAxis": {
     "auth_ref": [
      "r19"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by name of taxing authority.",
        "label": "Income Tax Authority, Name [Axis]"
       }
      }
     },
     "localname": "IncomeTaxAuthorityNameAxis",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/StockOptions.DetailsNarrative"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_IncomeTaxAuthorityNameDomain": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Named agency, division or body that levies income taxes, examines tax returns for compliance, or grants exemptions from or makes other decisions pertaining to income taxes."
       }
      }
     },
     "localname": "IncomeTaxAuthorityNameDomain",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/StockOptions.DetailsNarrative"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_IncomeTaxExpenseBenefit": {
     "auth_ref": [
      "r181",
      "r197",
      "r270",
      "r271",
      "r298",
      "r463",
      "r473",
      "r582"
     ],
     "calculation": {
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfOperationsAndComprehensiveIncome": {
       "order": 2.0,
       "parentTag": "us-gaap_ProfitLoss",
       "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 expense",
        "negatedLabel": "Income tax expense"
       }
      }
     },
     "localname": "IncomeTaxExpenseBenefit",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfOperationsAndComprehensiveIncome",
      "http://flexiblesolutions.com/role/ScheduleOfReportableSegmentsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncomeTaxPolicyTextBlock": {
     "auth_ref": [
      "r232",
      "r459",
      "r460",
      "r464",
      "r465",
      "r466",
      "r467",
      "r611"
     ],
     "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 Taxes"
       }
      }
     },
     "localname": "IncomeTaxPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/SignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_IncomeTaxesPaidNet": {
     "auth_ref": [
      "r54"
     ],
     "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/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities": {
     "auth_ref": [
      "r11"
     ],
     "calculation": {
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfCashFlows": {
       "order": 11.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": "Increase (Decrease) in accounts payable and accrued liabilities"
       }
      }
     },
     "localname": "IncreaseDecreaseInAccountsPayableAndAccruedLiabilities",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInAccountsReceivable": {
     "auth_ref": [
      "r11"
     ],
     "calculation": {
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfCashFlows": {
       "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": "(Increase) Decrease in accounts receivable"
       }
      }
     },
     "localname": "IncreaseDecreaseInAccountsReceivable",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable": {
     "auth_ref": [
      "r11"
     ],
     "calculation": {
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfCashFlows": {
       "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 taxes payable"
       }
      }
     },
     "localname": "IncreaseDecreaseInAccruedIncomeTaxesPayable",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInContractWithCustomerLiability": {
     "auth_ref": [
      "r534",
      "r806"
     ],
     "calculation": {
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfCashFlows": {
       "order": 13.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) deferred revenue"
       }
      }
     },
     "localname": "IncreaseDecreaseInContractWithCustomerLiability",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInInventories": {
     "auth_ref": [
      "r11"
     ],
     "calculation": {
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfCashFlows": {
       "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 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": "(Increase) Decrease in inventories"
       }
      }
     },
     "localname": "IncreaseDecreaseInInventories",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInOperatingCapitalAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Changes in non-cash working capital items:"
       }
      }
     },
     "localname": "IncreaseDecreaseInOperatingCapitalAbstract",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_IncreaseDecreaseInPrepaidExpense": {
     "auth_ref": [
      "r11"
     ],
     "calculation": {
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfCashFlows": {
       "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 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": "(Increase) Decrease in prepaid expenses"
       }
      }
     },
     "localname": "IncreaseDecreaseInPrepaidExpense",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IndefiniteLivedIntangibleAssetsExcludingGoodwill": {
     "auth_ref": [
      "r155"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of assets, excluding financial assets and goodwill, lacking physical substance and having a projected indefinite period of benefit.",
        "label": "Indefinite lived intangible assets, ending balance",
        "periodEndLabel": "Indefinite lived intangible assets, ending balance",
        "periodStartLabel": "Indefinite lived intangible assets, beginning balance"
       }
      }
     },
     "localname": "IndefiniteLivedIntangibleAssetsExcludingGoodwill",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfGoodwillAndIndefiniteLivedIntangibleAssetsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IntangibleAssetsDisclosureTextBlock": {
     "auth_ref": [
      "r353"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for all or part of the information related to intangible assets.",
        "label": "PATENTS."
       }
      }
     },
     "localname": "IntangibleAssetsDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/Patents."
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_IntangibleAssetsNetExcludingGoodwill": {
     "auth_ref": [
      "r70",
      "r73"
     ],
     "calculation": {
      "http://flexiblesolutions.com/role/InterimConsolidatedBalanceSheets": {
       "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 (Note 8)"
       }
      }
     },
     "localname": "IntangibleAssetsNetExcludingGoodwill",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InterestExpense": {
     "auth_ref": [
      "r110",
      "r180",
      "r236",
      "r294",
      "r512",
      "r670",
      "r762",
      "r861"
     ],
     "calculation": {
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfOperationsAndComprehensiveIncome": {
       "order": 4.0,
       "parentTag": "us-gaap_OperatingExpenses",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of the cost of borrowed funds accounted for as interest expense.",
        "label": "Interest expense"
       }
      }
     },
     "localname": "InterestExpense",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfOperationsAndComprehensiveIncome",
      "http://flexiblesolutions.com/role/LongTermDebt.DetailsNarrative",
      "http://flexiblesolutions.com/role/ScheduleOfReportableSegmentsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InterestExpenseDebt": {
     "auth_ref": [
      "r142",
      "r387",
      "r391",
      "r738",
      "r739"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of the cost of borrowed funds accounted for as interest expense for debt.",
        "label": "Interest expense debt"
       }
      }
     },
     "localname": "InterestExpenseDebt",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/LongTermDebt.DetailsNarrative"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InterestIncomeOther": {
     "auth_ref": [],
     "calculation": {
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfOperationsAndComprehensiveIncome": {
       "order": 4.0,
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
       "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/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfOperationsAndComprehensiveIncome"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InterestPaidNet": {
     "auth_ref": [
      "r242",
      "r245",
      "r246"
     ],
     "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/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InterestPayableCurrentAndNoncurrent": {
     "auth_ref": [
      "r113",
      "r852"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of interest payable on debt, including, but not limited to, trade payables.",
        "label": "Accured interest"
       }
      }
     },
     "localname": "InterestPayableCurrentAndNoncurrent",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/SignificantAccountingPoliciesDetailsNarrative"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InventoryDisclosureAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Inventory Disclosure [Abstract]"
       }
      }
     },
     "localname": "InventoryDisclosureAbstract",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "xbrltype": "stringItemType"
    },
    "us-gaap_InventoryDisclosureTextBlock": {
     "auth_ref": [
      "r338"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for inventory. Includes, but is not limited to, the basis of stating inventory, the method of determining inventory cost, the classes of inventory, and the nature of the cost elements included in inventory.",
        "label": "INVENTORIES."
       }
      }
     },
     "localname": "InventoryDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/Inventories."
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_InventoryFinishedGoods": {
     "auth_ref": [
      "r795"
     ],
     "calculation": {
      "http://flexiblesolutions.com/role/ScheduleOfInventoryDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_InventoryNet",
       "weight": 1.0
      }
     },
     "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": "Completed goods"
       }
      }
     },
     "localname": "InventoryFinishedGoods",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfInventoryDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InventoryNet": {
     "auth_ref": [
      "r225",
      "r727",
      "r751"
     ],
     "calculation": {
      "http://flexiblesolutions.com/role/InterimConsolidatedBalanceSheets": {
       "order": 4.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      },
      "http://flexiblesolutions.com/role/ScheduleOfInventoryDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "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": "Inventories (Note 5)",
        "totalLabel": "Total inventory"
       }
      }
     },
     "localname": "InventoryNet",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedBalanceSheets",
      "http://flexiblesolutions.com/role/ScheduleOfInventoryDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InventoryPolicyTextBlock": {
     "auth_ref": [
      "r185",
      "r210",
      "r224",
      "r338",
      "r339",
      "r340",
      "r535",
      "r729"
     ],
     "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": "Inventories and Cost of Sales."
       }
      }
     },
     "localname": "InventoryPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/SignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_InventoryRawMaterialsAndSupplies": {
     "auth_ref": [
      "r796"
     ],
     "calculation": {
      "http://flexiblesolutions.com/role/ScheduleOfInventoryDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_InventoryNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Gross amount of unprocessed materials to be used in manufacturing or production process and supplies that will be consumed.",
        "label": "Raw materials and supplies"
       }
      }
     },
     "localname": "InventoryRawMaterialsAndSupplies",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfInventoryDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_Investments": {
     "auth_ref": [
      "r561"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Sum of the carrying amounts as of the balance sheet date of all investments.",
        "label": "Investment"
       }
      }
     },
     "localname": "Investments",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/Investments.DetailsNarrative"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LandMember": {
     "auth_ref": [
      "r831"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Part of earth's surface not covered by water.",
        "label": "Land [Member]"
       }
      }
     },
     "localname": "LandMember",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfPropertyEquipmentAndLeaseholdsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_LeaseholdImprovementsMember": {
     "auth_ref": [
      "r157"
     ],
     "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/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfMethodOfDepreciationDetails",
      "http://flexiblesolutions.com/role/ScheduleOfPropertyEquipmentAndLeaseholdsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_LesseeOperatingLeaseDiscountRate": {
     "auth_ref": [
      "r749"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Discount rate used by lessee to determine present value of operating lease payments.",
        "label": "Operating leases discount rate"
       }
      }
     },
     "localname": "LesseeOperatingLeaseDiscountRate",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/Leases.DetailsNarrative"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock": {
     "auth_ref": [
      "r839"
     ],
     "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 UNDISCOUNTED RENT PAYMENTS"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityMaturityTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/Leases.Tables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue": {
     "auth_ref": [
      "r523"
     ],
     "calculation": {
      "http://flexiblesolutions.com/role/ScheduleOfUndiscountedRentPaymentsDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "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"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDue",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfUndiscountedRentPaymentsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths": {
     "auth_ref": [
      "r523"
     ],
     "calculation": {
      "http://flexiblesolutions.com/role/ScheduleOfUndiscountedRentPaymentsDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "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": "2024"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfUndiscountedRentPaymentsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo": {
     "auth_ref": [
      "r523"
     ],
     "calculation": {
      "http://flexiblesolutions.com/role/ScheduleOfUndiscountedRentPaymentsDetails": {
       "order": 3.0,
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "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": "2025"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearTwo",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfUndiscountedRentPaymentsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear": {
     "auth_ref": [
      "r839"
     ],
     "calculation": {
      "http://flexiblesolutions.com/role/ScheduleOfUndiscountedRentPaymentsDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease having initial or remaining lease term in excess of one year to be paid in remainder of current fiscal year.",
        "label": "2023"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfUndiscountedRentPaymentsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount": {
     "auth_ref": [
      "r523"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payments in excess of discounted obligation for lease payments for operating lease.",
        "label": "Lessee, Operating Lease, Liability, Undiscounted Excess Amount",
        "negatedLabel": "Impact of discounting"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityUndiscountedExcessAmount",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfUndiscountedRentPaymentsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeasesTextBlock": {
     "auth_ref": [
      "r516"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for operating leases of lessee. Includes, but is not limited to, description of operating lease and maturity analysis of operating lease liability.",
        "label": "LEASES."
       }
      }
     },
     "localname": "LesseeOperatingLeasesTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/Leases."
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_Liabilities": {
     "auth_ref": [
      "r35",
      "r251",
      "r332",
      "r365",
      "r366",
      "r367",
      "r368",
      "r369",
      "r370",
      "r371",
      "r372",
      "r373",
      "r477",
      "r480",
      "r481",
      "r497",
      "r643",
      "r731",
      "r764",
      "r827",
      "r842",
      "r843"
     ],
     "calculation": {
      "http://flexiblesolutions.com/role/InterimConsolidatedBalanceSheets": {
       "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 [Default Label]",
        "totalLabel": "Total Liabilities"
       }
      }
     },
     "localname": "Liabilities",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LiabilitiesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Liabilities"
       }
      }
     },
     "localname": "LiabilitiesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedBalanceSheets"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_LiabilitiesAndStockholdersEquity": {
     "auth_ref": [
      "r127",
      "r175",
      "r569",
      "r751",
      "r810",
      "r820",
      "r836"
     ],
     "calculation": {
      "http://flexiblesolutions.com/role/InterimConsolidatedBalanceSheets": {
       "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/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LiabilitiesCurrent": {
     "auth_ref": [
      "r37",
      "r209",
      "r251",
      "r332",
      "r365",
      "r366",
      "r367",
      "r368",
      "r369",
      "r370",
      "r371",
      "r372",
      "r373",
      "r477",
      "r480",
      "r481",
      "r497",
      "r751",
      "r827",
      "r842",
      "r843"
     ],
     "calculation": {
      "http://flexiblesolutions.com/role/InterimConsolidatedBalanceSheets": {
       "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/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LiabilitiesCurrentAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Current"
       }
      }
     },
     "localname": "LiabilitiesCurrentAbstract",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedBalanceSheets"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_LineOfCreditFacilityAxis": {
     "auth_ref": [
      "r32",
      "r809"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by name of lender, which may be a single entity (for example, but not limited to, a bank, pension fund, venture capital firm) or a group of entities that participate in the line of credit.",
        "label": "Lender Name [Axis]"
       }
      }
     },
     "localname": "LineOfCreditFacilityAxis",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/Short-termLineOfCredit.DetailsNarrative"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_LineOfCreditFacilityCurrentBorrowingCapacity": {
     "auth_ref": [
      "r32"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of current borrowing capacity under the credit facility considering any current restrictions on the amount that could be borrowed (for example, borrowings may be limited by the amount of current assets), but without considering any amounts currently outstanding under the facility.",
        "label": "Increasing amount of revolving line of credit"
       }
      }
     },
     "localname": "LineOfCreditFacilityCurrentBorrowingCapacity",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/Short-termLineOfCredit.DetailsNarrative"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LineOfCreditFacilityLenderDomain": {
     "auth_ref": [
      "r32",
      "r809"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Identification of the lender, which may be a single entity (for example, a bank, pension fund, venture capital firm) or a group of entities that participate in the line of credit, including a letter of credit facility."
       }
      }
     },
     "localname": "LineOfCreditFacilityLenderDomain",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/Short-termLineOfCredit.DetailsNarrative"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_LineOfCreditFacilityLineItems": {
     "auth_ref": [
      "r809"
     ],
     "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": "Line of Credit Facility [Line Items]"
       }
      }
     },
     "localname": "LineOfCreditFacilityLineItems",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/Short-termLineOfCredit.DetailsNarrative"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity": {
     "auth_ref": [
      "r32"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Maximum borrowing capacity under the credit facility without consideration of any current restrictions on the amount that could be borrowed or the amounts currently outstanding under the facility.",
        "label": "Aggregate amount of revolving line of credit"
       }
      }
     },
     "localname": "LineOfCreditFacilityMaximumBorrowingCapacity",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/Short-termLineOfCredit.DetailsNarrative"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LineOfCreditFacilityTable": {
     "auth_ref": [
      "r32",
      "r809"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "A table or schedule providing information pertaining to short-term or long-term contractual arrangements with lenders, including letters of credit, standby letters of credit, and revolving credit arrangements, under which borrowings can be made up to maximum amount as of any point in time conditional on satisfaction of specified terms before, as of and after the date of drawdowns on the line.",
        "label": "Line of Credit Facility [Table]"
       }
      }
     },
     "localname": "LineOfCreditFacilityTable",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/Short-termLineOfCredit.DetailsNarrative"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_LinesOfCreditCurrent": {
     "auth_ref": [
      "r119",
      "r172"
     ],
     "calculation": {
      "http://flexiblesolutions.com/role/InterimConsolidatedBalanceSheets": {
       "order": 5.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The carrying value as of the balance sheet date of the current portion of long-term obligations drawn from a line of credit, which is a bank's commitment to make loans up to a specific amount. Examples of items that might be included in the application of this element may consist of letters of credit, standby letters of credit, and revolving credit arrangements, under which borrowings can be made up to a maximum amount as of any point in time conditional on satisfaction of specified terms before, as of and after the date of drawdowns on the line. Includes short-term obligations that would normally be classified as current liabilities but for which (a) postbalance sheet date issuance of a long term obligation to refinance the short term obligation on a long term basis, or (b) the enterprise has entered into a financing agreement that clearly permits the enterprise to refinance the short-term obligation on a long term basis and the following conditions are met (1) the agreement does not expire within 1 year and is not cancelable by the lender except for violation of an objectively determinable provision, (2) no violation exists at the BS date, and (3) the lender has entered into the financing agreement is expected to be financially capable of honoring the agreement.",
        "label": "Short term line of credit (Note 11)",
        "verboseLabel": "Line of credit"
       }
      }
     },
     "localname": "LinesOfCreditCurrent",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedBalanceSheets",
      "http://flexiblesolutions.com/role/Short-termLineOfCredit.DetailsNarrative"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LoansPayable": {
     "auth_ref": [
      "r29",
      "r173",
      "r854"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Including the current and noncurrent portions, aggregate carrying value as of the balance sheet date of loans payable (with maturities initially due after one year or beyond the operating cycle if longer).",
        "label": "First mortgage"
       }
      }
     },
     "localname": "LoansPayable",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/LongTermDebt.DetailsNarrative"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LongTermDebt": {
     "auth_ref": [
      "r29",
      "r173",
      "r381",
      "r390",
      "r736",
      "r737",
      "r854"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, after deduction of unamortized premium (discount) and debt issuance cost, of long-term debt. Excludes lease obligation.",
        "label": "Long-term Debt",
        "periodEndLabel": "Balance, end of period",
        "periodStartLabel": "Balance, beginning of period"
       }
      }
     },
     "localname": "LongTermDebt",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfLoanCovenantsDetails",
      "http://flexiblesolutions.com/role/ScheduleOfOutstandingBalanceLoanDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LongTermDebtCurrent": {
     "auth_ref": [
      "r217"
     ],
     "calculation": {
      "http://flexiblesolutions.com/role/InterimConsolidatedBalanceSheets": {
       "order": 7.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, after deduction of unamortized premium (discount) and debt issuance cost, of long-term debt classified as current. Excludes lease obligation.",
        "label": "Current portion of long term debt (Note 12)",
        "negatedLabel": "Less: current portion"
       }
      }
     },
     "localname": "LongTermDebtCurrent",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedBalanceSheets",
      "http://flexiblesolutions.com/role/ScheduleOfOutstandingBalanceLoanDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LongTermDebtNoncurrent": {
     "auth_ref": [
      "r218"
     ],
     "calculation": {
      "http://flexiblesolutions.com/role/InterimConsolidatedBalanceSheets": {
       "order": 4.0,
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, after deduction of unamortized premium (discount) and debt issuance cost, of long-term debt classified as noncurrent. Excludes lease obligation.",
        "label": "Long term debt (Note 12)",
        "verboseLabel": "Long-term Debt non current"
       }
      }
     },
     "localname": "LongTermDebtNoncurrent",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedBalanceSheets",
      "http://flexiblesolutions.com/role/ScheduleOfOutstandingBalanceLoanDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LongTermDebtTextBlock": {
     "auth_ref": [
      "r159"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for long-term debt.",
        "label": "LONG TERM DEBT."
       }
      }
     },
     "localname": "LongTermDebtTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/LongTermDebt."
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_MachineryAndEquipmentMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tangible personal property used to produce goods and services, including, but is not limited to, tools, dies and molds, computer and office equipment.",
        "label": "Machinery and Equipment [Member]"
       }
      }
     },
     "localname": "MachineryAndEquipmentMember",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfMethodOfDepreciationDetails",
      "http://flexiblesolutions.com/role/ScheduleOfPropertyEquipmentAndLeaseholdsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_MinorityInterest": {
     "auth_ref": [
      "r41",
      "r174",
      "r251",
      "r332",
      "r365",
      "r367",
      "r368",
      "r369",
      "r372",
      "r373",
      "r497",
      "r568",
      "r646"
     ],
     "calculation": {
      "http://flexiblesolutions.com/role/InterimConsolidatedBalanceSheets": {
       "order": 2.0,
       "parentTag": "us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of equity (deficit) attributable to noncontrolling interest. Excludes temporary equity.",
        "label": "Non-controlling interests (Note 15)",
        "periodEndLabel": "Distribution to noncontrolling interests, Ending balance",
        "periodStartLabel": "Distribution to noncontrolling interests, Beginning balance"
       }
      }
     },
     "localname": "MinorityInterest",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedBalanceSheets",
      "http://flexiblesolutions.com/role/ScheduleOfDistributionsDetails",
      "http://flexiblesolutions.com/role/ScheduleOfNonControllingInterestRelatedToAcquisitionDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders": {
     "auth_ref": [
      "r163"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Decrease in noncontrolling interest balance from payment of dividends or other distributions by the non-wholly owned subsidiary or partially owned entity, included in the consolidation of the parent entity, to the noncontrolling interest holders.",
        "label": "Noncontrolling Interest, Decrease from Distributions to Noncontrolling Interest Holders",
        "negatedLabel": "Distributions to noncontrolling interests",
        "negatedTerseLabel": "Distribution"
       }
      }
     },
     "localname": "MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfStockholdersEquity",
      "http://flexiblesolutions.com/role/ScheduleOfDistributionsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_MinorityInterestDisclosureTextBlock": {
     "auth_ref": [
      "r168"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for noncontrolling interest in consolidated subsidiaries, which could include the name of the subsidiary, the ownership percentage held by the parent, the ownership percentage held by the noncontrolling owners, the amount of the noncontrolling interest, the location of this amount on the balance sheet (when not reported separately), an explanation of the increase or decrease in the amount of the noncontrolling interest, the noncontrolling interest share of the net Income or Loss of the subsidiary, the location of this amount on the income statement (when not reported separately), the nature of the noncontrolling interest such as background information and terms, the amount of the noncontrolling interest represented by preferred stock, a description of the preferred stock, and the dividend requirements of the preferred stock.",
        "label": "NON-CONTROLLING INTERESTS"
       }
      }
     },
     "localname": "MinorityInterestDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/Non-controllingInterests"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_MinorityInterestOwnershipPercentageByParent": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The parent entity's interest in net assets of the subsidiary, expressed as a percentage.",
        "label": "Minority Interest Ownership Percentage",
        "verboseLabel": "Related party owner ship percentage"
       }
      }
     },
     "localname": "MinorityInterestOwnershipPercentageByParent",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/Investments.DetailsNarrative",
      "http://flexiblesolutions.com/role/Non-controllingInterestsDetailsNarrative"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_NetCashProvidedByUsedInFinancingActivities": {
     "auth_ref": [
      "r244"
     ],
     "calculation": {
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfCashFlows": {
       "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": "Cash (used in) financing activities"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInFinancingActivities",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Financing activities"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInFinancingActivitiesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_NetCashProvidedByUsedInInvestingActivities": {
     "auth_ref": [
      "r244"
     ],
     "calculation": {
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfCashFlows": {
       "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": "Cash (used in) investing activities"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInInvestingActivities",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Investing activities"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInInvestingActivitiesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_NetCashProvidedByUsedInOperatingActivities": {
     "auth_ref": [
      "r145",
      "r146",
      "r147"
     ],
     "calculation": {
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfCashFlows": {
       "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": "Cash provided by operating activities"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInOperatingActivities",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating activities"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInOperatingActivitiesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_NetIncomeLoss": {
     "auth_ref": [
      "r134",
      "r147",
      "r179",
      "r207",
      "r228",
      "r230",
      "r235",
      "r251",
      "r260",
      "r264",
      "r265",
      "r266",
      "r267",
      "r270",
      "r271",
      "r278",
      "r290",
      "r304",
      "r310",
      "r313",
      "r332",
      "r365",
      "r366",
      "r367",
      "r368",
      "r369",
      "r370",
      "r371",
      "r372",
      "r373",
      "r493",
      "r497",
      "r576",
      "r666",
      "r684",
      "r685",
      "r732",
      "r762",
      "r827"
     ],
     "calculation": {
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfOperationsAndComprehensiveIncome": {
       "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": "Segment profit (loss)",
        "totalLabel": "Net income attributable to controlling interest"
       }
      }
     },
     "localname": "NetIncomeLoss",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfOperationsAndComprehensiveIncome",
      "http://flexiblesolutions.com/role/ScheduleOfReportableSegmentsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NetIncomeLossAttributableToNoncontrollingInterest": {
     "auth_ref": [
      "r100",
      "r170",
      "r228",
      "r230",
      "r270",
      "r271",
      "r575",
      "r800"
     ],
     "calculation": {
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfOperationsAndComprehensiveIncome": {
       "order": 2.0,
       "parentTag": "us-gaap_NetIncomeLoss",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of Net Income (Loss) attributable to noncontrolling interest.",
        "label": "Non-controlling interest share of income",
        "negatedLabel": "Less: Net income attributable to non-controlling interests"
       }
      }
     },
     "localname": "NetIncomeLossAttributableToNoncontrollingInterest",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfOperationsAndComprehensiveIncome",
      "http://flexiblesolutions.com/role/ScheduleOfDistributionsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock": {
     "auth_ref": [
      "r195",
      "r196",
      "r199",
      "r205",
      "r258",
      "r259",
      "r262",
      "r263",
      "r272",
      "r273",
      "r335",
      "r336",
      "r470",
      "r471",
      "r472",
      "r487",
      "r490",
      "r494",
      "r495",
      "r496",
      "r498",
      "r499",
      "r500",
      "r514",
      "r515",
      "r525",
      "r538",
      "r539",
      "r540",
      "r604",
      "r605",
      "r606",
      "r607",
      "r608"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for change in accounting principle. Includes, but is not limited to, nature, reason, and method of adopting amendment to accounting standards or other change in accounting principle.",
        "label": "Recent Accounting Pronouncements."
       }
      }
     },
     "localname": "NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/SignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_NoncontrollingInterestAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Noncontrolling Interest [Abstract]"
       }
      }
     },
     "localname": "NoncontrollingInterestAbstract",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "xbrltype": "stringItemType"
    },
    "us-gaap_NoncontrollingInterestIncreaseFromBusinessCombination": {
     "auth_ref": [
      "r20",
      "r81",
      "r94"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase in noncontrolling interest from a business combination.",
        "label": "Non-controlling interest of 317 Mendota LLC"
       }
      }
     },
     "localname": "NoncontrollingInterestIncreaseFromBusinessCombination",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfStockholdersEquity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NoncontrollingInterestMember": {
     "auth_ref": [
      "r96",
      "r406",
      "r812",
      "r813",
      "r814",
      "r865"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "This element represents that portion of equity (net assets) in a subsidiary not attributable, directly or indirectly, to the parent. A noncontrolling interest is sometimes called a minority interest.",
        "label": "Noncontrolling Interest [Member]"
       }
      }
     },
     "localname": "NoncontrollingInterestMember",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfStockholdersEquity"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_NoncurrentAssets": {
     "auth_ref": [
      "r318"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Long-lived assets other than financial instruments, long-term customer relationships of a financial institution, mortgage and other servicing rights, deferred policy acquisition costs, and deferred tax assets.",
        "label": "Long-Lived Assets",
        "verboseLabel": "Total"
       }
      }
     },
     "localname": "NoncurrentAssets",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfLong-livedAssetsAreLocatedInCanadaAndUnitedStatesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NumberOfOperatingSegments": {
     "auth_ref": [
      "r816"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of operating segments. An operating segment is a component of an enterprise: (a) that engages in business activities from which it may earn revenues and incur expenses (including revenues and expenses relating to transactions with other components of the same enterprise), (b) whose operating results are regularly reviewed by the enterprise's chief operating decision maker to make decisions about resources to be allocated to the segment and assess its performance, and (c) for which discrete financial information is available. An operating segment may engage in business activities for which it has yet to earn revenues, for example, start-up operations may be operating segments before earning revenues.",
        "label": "Number of operating segments"
       }
      }
     },
     "localname": "NumberOfOperatingSegments",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/SegmentedSignificantCustomerInformationAndEconomicDependencyDetailsNarrative"
     ],
     "xbrltype": "integerItemType"
    },
    "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/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfMethodOfDepreciationDetails",
      "http://flexiblesolutions.com/role/ScheduleOfPropertyEquipmentAndLeaseholdsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_OfficersCompensation": {
     "auth_ref": [
      "r801"
     ],
     "calculation": {
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfOperationsAndComprehensiveIncome": {
       "order": 2.0,
       "parentTag": "us-gaap_OperatingExpenses",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of expense for salary and wage arising from service rendered by officer. Excludes allocated cost, labor-related nonsalary expense, and direct and overhead labor cost included in cost of good and service sold.",
        "label": "Administrative salaries and benefits"
       }
      }
     },
     "localname": "OfficersCompensation",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfOperationsAndComprehensiveIncome"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingExpenses": {
     "auth_ref": [],
     "calculation": {
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfOperationsAndComprehensiveIncome": {
       "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 [Default Label]",
        "totalLabel": "Total operating expenses"
       }
      }
     },
     "localname": "OperatingExpenses",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfOperationsAndComprehensiveIncome"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingExpensesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating Expenses"
       }
      }
     },
     "localname": "OperatingExpensesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfOperationsAndComprehensiveIncome"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_OperatingIncomeLoss": {
     "auth_ref": [
      "r290",
      "r304",
      "r310",
      "r313",
      "r732"
     ],
     "calculation": {
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfOperationsAndComprehensiveIncome": {
       "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": "Operating income"
       }
      }
     },
     "localname": "OperatingIncomeLoss",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfOperationsAndComprehensiveIncome"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeaseExpense": {
     "auth_ref": [
      "r838"
     ],
     "calculation": {
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfOperationsAndComprehensiveIncome": {
       "order": 11.0,
       "parentTag": "us-gaap_OperatingExpenses",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of operating lease expense. Excludes sublease income.",
        "label": "Lease expense"
       }
      }
     },
     "localname": "OperatingLeaseExpense",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfOperationsAndComprehensiveIncome"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeaseLiability": {
     "auth_ref": [
      "r518"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease.",
        "label": "Total",
        "periodEndLabel": "Lease liability, ending balance",
        "periodStartLabel": "Lease liability, beginning balance",
        "verboseLabel": "Lease liability, June 30, 2023"
       }
      }
     },
     "localname": "OperatingLeaseLiability",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfUndiscountedRentPaymentsDetails",
      "http://flexiblesolutions.com/role/SummaryOfRight-of-useAssetAndLeaseLiabilityDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeaseLiabilityCurrent": {
     "auth_ref": [
      "r518"
     ],
     "calculation": {
      "http://flexiblesolutions.com/role/InterimConsolidatedBalanceSheets": {
       "order": 6.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as current.",
        "label": "Current portion of lease liability (Note 3)",
        "verboseLabel": "Short-term portion"
       }
      }
     },
     "localname": "OperatingLeaseLiabilityCurrent",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedBalanceSheets",
      "http://flexiblesolutions.com/role/SummaryOfRight-of-useAssetAndLeaseLiabilityDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeaseLiabilityNoncurrent": {
     "auth_ref": [
      "r518"
     ],
     "calculation": {
      "http://flexiblesolutions.com/role/InterimConsolidatedBalanceSheets": {
       "order": 2.0,
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as noncurrent.",
        "label": "Lease liability (Note 3)",
        "verboseLabel": "Long-term portion"
       }
      }
     },
     "localname": "OperatingLeaseLiabilityNoncurrent",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedBalanceSheets",
      "http://flexiblesolutions.com/role/SummaryOfRight-of-useAssetAndLeaseLiabilityDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeasePayments": {
     "auth_ref": [
      "r520",
      "r522"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash outflow from operating lease, excluding payments to bring another asset to condition and location necessary for its intended use.",
        "label": "Operating Lease, Payments",
        "negatedLabel": "Payments"
       }
      }
     },
     "localname": "OperatingLeasePayments",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/SummaryOfRight-of-useAssetAndLeaseLiabilityDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeaseRightOfUseAsset": {
     "auth_ref": [
      "r517"
     ],
     "calculation": {
      "http://flexiblesolutions.com/role/InterimConsolidatedBalanceSheets": {
       "order": 3.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's right to use underlying asset under operating lease.",
        "label": "Right of use assets (Note 3)",
        "periodEndLabel": "Right of use assets, ending balance",
        "periodStartLabel": "Right of use assets, beginning balance"
       }
      }
     },
     "localname": "OperatingLeaseRightOfUseAsset",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedBalanceSheets",
      "http://flexiblesolutions.com/role/SummaryOfRight-of-useAssetAndLeaseLiabilityDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense": {
     "auth_ref": [
      "r807"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of periodic reduction over lease term of carrying amount of right-of-use asset from operating lease.",
        "label": "Operating Lease, Right-of-Use Asset, Periodic Reduction",
        "negatedLabel": "Depreciation"
       }
      }
     },
     "localname": "OperatingLeaseRightOfUseAssetAmortizationExpense",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/SummaryOfRight-of-useAssetAndLeaseLiabilityDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent": {
     "auth_ref": [
      "r9",
      "r21",
      "r169"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount after tax and reclassification adjustments of gain (loss) on foreign currency translation adjustments, foreign currency transactions designated and effective as economic hedges of a net investment in a foreign entity and intra-entity foreign currency transactions that are of a long-term-investment nature, attributable to parent entity.",
        "label": "Translation adjustment"
       }
      }
     },
     "localname": "OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfStockholdersEquity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax": {
     "auth_ref": [
      "r6"
     ],
     "calculation": {
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfOperationsAndComprehensiveIncome": {
       "order": 2.0,
       "parentTag": "us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount after tax and reclassification adjustments of gain (loss) on foreign currency translation adjustments, foreign currency transactions designated and effective as economic hedges of a net investment in a foreign entity and intra-entity foreign currency transactions that are of a long-term-investment nature.",
        "label": "Unrealized gain (loss) on foreign currency translations"
       }
      }
     },
     "localname": "OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfOperationsAndComprehensiveIncome"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other comprehensive income:"
       }
      }
     },
     "localname": "OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfOperationsAndComprehensiveIncome"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_OtherGeneralExpense": {
     "auth_ref": [
      "r140"
     ],
     "calculation": {
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfOperationsAndComprehensiveIncome": {
       "order": 6.0,
       "parentTag": "us-gaap_OperatingExpenses",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of general expenses not normally included in Other Operating Costs and Expenses.",
        "label": "Office and miscellaneous"
       }
      }
     },
     "localname": "OtherGeneralExpense",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfOperationsAndComprehensiveIncome"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ParentMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Portion of equity, or net assets, in the consolidated entity attributable, directly or indirectly, to the parent. Excludes noncontrolling interests.",
        "label": "Parent [Member]"
       }
      }
     },
     "localname": "ParentMember",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfStockholdersEquity"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_PatentsMember": {
     "auth_ref": [
      "r167"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Exclusive legal right granted by the government to the owner of the patent to exploit an invention or a process for a period of time specified by law.",
        "label": "Patents [Member]"
       }
      }
     },
     "localname": "PatentsMember",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/Patents.DetailsNarrative",
      "http://flexiblesolutions.com/role/ScheduleOfMethodOfDepreciationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_PaymentsForProceedsFromDepositOnLoan": {
     "auth_ref": [
      "r13",
      "r52"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The net cash inflow or outflow from resulting from payment, receipt or drawdown of cash deposit to guarantee a loan during the period.",
        "label": "Payments for (Proceeds from) Deposit on Loan",
        "negatedLabel": "Less: Payments on loan"
       }
      }
     },
     "localname": "PaymentsForProceedsFromDepositOnLoan",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfLoanCovenantsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PaymentsOfDividends": {
     "auth_ref": [
      "r49"
     ],
     "calculation": {
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfCashFlows": {
       "order": 4.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Cash outflow in the form of capital distributions and dividends to common shareholders, preferred shareholders and noncontrolling interests.",
        "label": "Payments of Dividends",
        "negatedLabel": "Dividends paid"
       }
      }
     },
     "localname": "PaymentsOfDividends",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PaymentsOfFinancingCosts": {
     "auth_ref": [
      "r48"
     ],
     "calculation": {
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfCashFlows": {
       "order": 5.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash outflow for loan and debt issuance costs.",
        "label": "Payments of Financing Costs",
        "negatedLabel": "Lease financing costs"
       }
      }
     },
     "localname": "PaymentsOfFinancingCosts",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PaymentsToAcquireBusinessesAndInterestInAffiliates": {
     "auth_ref": [
      "r46"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash outflow associated with the acquisition of a controlling interest in another entity or an entity that is related to it but not strictly controlled (for example, an unconsolidated subsidiary, affiliate, joint venture or equity method investment).",
        "label": "Distribution to noncontrolling interests, Acquisition"
       }
      }
     },
     "localname": "PaymentsToAcquireBusinessesAndInterestInAffiliates",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfNonControllingInterestRelatedToAcquisitionDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired": {
     "auth_ref": [
      "r46"
     ],
     "calculation": {
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfCashFlows": {
       "order": 2.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": "Acquisition of ENP Peru"
       }
      }
     },
     "localname": "PaymentsToAcquireBusinessesNetOfCashAcquired",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PaymentsToAcquireInvestments": {
     "auth_ref": [
      "r143"
     ],
     "calculation": {
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfCashFlows": {
       "order": 3.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash outflow associated with the purchase of all investments (debt, security, other) during the period.",
        "label": "Payments to Acquire Investments",
        "negatedLabel": "Additional investment in Trio"
       }
      }
     },
     "localname": "PaymentsToAcquireInvestments",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfCashFlows",
      "http://flexiblesolutions.com/role/Investments.DetailsNarrative"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PaymentsToAcquirePropertyPlantAndEquipment": {
     "auth_ref": [
      "r144"
     ],
     "calculation": {
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfCashFlows": {
       "order": 6.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": "Net purchase of property, equipment and leaseholds",
        "negatedTerseLabel": "Expenditures for segment assets"
       }
      }
     },
     "localname": "PaymentsToAcquirePropertyPlantAndEquipment",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfCashFlows",
      "http://flexiblesolutions.com/role/ScheduleOfReportableSegmentsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PaymentsToMinorityShareholders": {
     "auth_ref": [
      "r48"
     ],
     "calculation": {
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfCashFlows": {
       "order": 6.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash outflow to a noncontrolling interest. Includes, but not limited to, reduction of noncontrolling interest ownership. Excludes dividends paid to the noncontrolling interest.",
        "label": "Partnership distribution to non-controlling interest",
        "negatedLabel": "Distributions to non-controlling interest"
       }
      }
     },
     "localname": "PaymentsToMinorityShareholders",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfCashFlows",
      "http://flexiblesolutions.com/role/Non-controllingInterestsDetailsNarrative"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PercentageOfInterestBearingDomesticDepositsToDepositsTimeDeposits": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of interest-bearing domestic time deposit liabilities to total deposit liabilities.",
        "label": "Term deposits percent"
       }
      }
     },
     "localname": "PercentageOfInterestBearingDomesticDepositsToDepositsTimeDeposits",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/SignificantAccountingPoliciesDetailsNarrative"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_PreferredStockParOrStatedValuePerShare": {
     "auth_ref": [
      "r121",
      "r393"
     ],
     "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": "Preferred stock, par value"
       }
      }
     },
     "localname": "PreferredStockParOrStatedValuePerShare",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedBalanceSheetsParenthetical"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_PreferredStockSharesAuthorized": {
     "auth_ref": [
      "r121",
      "r644"
     ],
     "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": "Preferred stock, shares authorized"
       }
      }
     },
     "localname": "PreferredStockSharesAuthorized",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedBalanceSheetsParenthetical"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_PremiumsReceivableAllowanceForDoubtfulAccountsEstimationMethodologyPolicy": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for determining the estimated allowance for doubtful accounts for premium amounts due from policyholders, insureds, and other insurance entities. May include factors that management considered, such as historical loss experience and current economic and competitive conditions.",
        "label": "Allowance for Doubtful Accounts."
       }
      }
     },
     "localname": "PremiumsReceivableAllowanceForDoubtfulAccountsEstimationMethodologyPolicy",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/SignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_PrepaidExpenseCurrent": {
     "auth_ref": [
      "r226",
      "r341",
      "r342",
      "r728"
     ],
     "calculation": {
      "http://flexiblesolutions.com/role/InterimConsolidatedBalanceSheets": {
       "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/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PrimeRateMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Interest rate charged by financial institutions to their most creditworthy borrowers.",
        "label": "Prime Rate [Member]"
       }
      }
     },
     "localname": "PrimeRateMember",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/LongTermDebt.DetailsNarrative"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ProceedsFromBankDebt": {
     "auth_ref": [
      "r47"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash inflow from bank borrowing during the year.",
        "label": "Plus: Proceeds from loans"
       }
      }
     },
     "localname": "ProceedsFromBankDebt",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfLoanCovenantsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProceedsFromIssuanceOfCommonStock": {
     "auth_ref": [
      "r7"
     ],
     "calculation": {
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfCashFlows": {
       "order": 7.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 of issuance of common stock"
       }
      }
     },
     "localname": "ProceedsFromIssuanceOfCommonStock",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProceedsFromIssuanceOfLongTermDebt": {
     "auth_ref": [
      "r47",
      "r612"
     ],
     "calculation": {
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfCashFlows": {
       "order": 3.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash inflow from a debt initially having maturity due after one year or beyond the operating cycle, if longer.",
        "label": "Proceeds from loans"
       }
      }
     },
     "localname": "ProceedsFromIssuanceOfLongTermDebt",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProceedsFromSaleOfEquityMethodInvestments": {
     "auth_ref": [
      "r45"
     ],
     "calculation": {
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfCashFlows": {
       "order": 4.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash inflow associated with the sale of equity method investments, which are investments in joint ventures and entities in which the entity has an equity ownership interest normally of 20 to 50 percent and exercises significant influence.",
        "label": "Proceeds of equity method investment distributions"
       }
      }
     },
     "localname": "ProceedsFromSaleOfEquityMethodInvestments",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfCashFlows"
     ],
     "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/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/SignificantAccountingPoliciesDetailsNarrative"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ProfessionalFees": {
     "auth_ref": [
      "r762",
      "r862",
      "r863"
     ],
     "calculation": {
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfOperationsAndComprehensiveIncome": {
       "order": 5.0,
       "parentTag": "us-gaap_OperatingExpenses",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "A fee charged for services from professionals such as doctors, lawyers and accountants. The term is often expanded to include other professions, for example, pharmacists charging to maintain a medicinal profile of a client or customer.",
        "label": "Professional fees"
       }
      }
     },
     "localname": "ProfessionalFees",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfOperationsAndComprehensiveIncome"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProfitLoss": {
     "auth_ref": [
      "r207",
      "r228",
      "r230",
      "r243",
      "r251",
      "r260",
      "r270",
      "r271",
      "r290",
      "r304",
      "r310",
      "r313",
      "r332",
      "r365",
      "r366",
      "r367",
      "r368",
      "r369",
      "r370",
      "r371",
      "r372",
      "r373",
      "r475",
      "r478",
      "r479",
      "r493",
      "r497",
      "r559",
      "r574",
      "r618",
      "r666",
      "r684",
      "r685",
      "r732",
      "r747",
      "r748",
      "r763",
      "r800",
      "r827"
     ],
     "calculation": {
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfCashFlows": {
       "order": 1.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      },
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfOperationsAndComprehensiveIncome": {
       "order": 1.0,
       "parentTag": "us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The consolidated profit or loss for the period, net of income taxes, including the portion attributable to the noncontrolling interest.",
        "label": "Net income",
        "totalLabel": "Net income for the period including non-controlling interests",
        "verboseLabel": "Net income for the period including non-controlling interest"
       }
      }
     },
     "localname": "ProfitLoss",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfCashFlows",
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfOperationsAndComprehensiveIncome",
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfStockholdersEquity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Property, Plant and Equipment [Abstract]"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentAbstract",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "xbrltype": "stringItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentByTypeAxis": {
     "auth_ref": [
      "r14"
     ],
     "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/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfMethodOfDepreciationDetails",
      "http://flexiblesolutions.com/role/ScheduleOfPropertyEquipmentAndLeaseholdsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock": {
     "auth_ref": [
      "r156",
      "r190",
      "r193",
      "r194"
     ],
     "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, EQUIPMENT &amp; LEASEHOLDS."
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/PropertyEquipmentLeaseholds."
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentGross": {
     "auth_ref": [
      "r157",
      "r212",
      "r572"
     ],
     "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": "Cost"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentGross",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfPropertyEquipmentAndLeaseholdsDetails"
     ],
     "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/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfMethodOfDepreciationDetails",
      "http://flexiblesolutions.com/role/ScheduleOfPropertyEquipmentAndLeaseholdsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentNet": {
     "auth_ref": [
      "r14",
      "r560",
      "r572",
      "r751"
     ],
     "calculation": {
      "http://flexiblesolutions.com/role/InterimConsolidatedBalanceSheets": {
       "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, equipment and leaseholds, net (Note 6)",
        "verboseLabel": "Property, plant and equipment, net, total"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentNet",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedBalanceSheets",
      "http://flexiblesolutions.com/role/ScheduleOfPropertyEquipmentAndLeaseholdsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentPolicyTextBlock": {
     "auth_ref": [
      "r14",
      "r190",
      "r193",
      "r570"
     ],
     "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, Equipment, Leaseholds and Intangible Assets"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/SignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentTextBlock": {
     "auth_ref": [
      "r14"
     ],
     "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, EQUIPMENT AND LEASEHOLDS"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/PropertyEquipmentLeaseholds.Tables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentTypeDomain": {
     "auth_ref": [
      "r157"
     ],
     "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/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfMethodOfDepreciationDetails",
      "http://flexiblesolutions.com/role/ScheduleOfPropertyEquipmentAndLeaseholdsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_RealizedInvestmentGainsLosses": {
     "auth_ref": [
      "r581"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of realized gain (loss) on investment.",
        "label": "Gross profit"
       }
      }
     },
     "localname": "RealizedInvestmentGainsLosses",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/SummaryOfProfitAndLossInformationRelatedToEquityAccountedInvestmentDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ReceivablesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Receivables [Abstract]"
       }
      }
     },
     "localname": "ReceivablesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "xbrltype": "stringItemType"
    },
    "us-gaap_ReconciliationOfRevenueFromSegmentsToConsolidatedTextBlock": {
     "auth_ref": [
      "r63",
      "r64"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of all significant reconciling items in the reconciliation of total revenues from reportable segments to the entity's consolidated revenues.",
        "label": "SCHEDULE OF REPORTABLE SEGMENTS"
       }
      }
     },
     "localname": "ReconciliationOfRevenueFromSegmentsToConsolidatedTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/SegmentedSignificantCustomerInformationAndEconomicDependencyTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_RelatedPartyDomain": {
     "auth_ref": [
      "r418",
      "r526",
      "r527",
      "r638",
      "r639",
      "r640",
      "r641",
      "r642",
      "r663",
      "r665",
      "r691"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Related parties include affiliates; other entities for which investments are accounted for by the equity method by the entity; trusts for benefit of employees; and principal owners, management, and members of immediate families. It also may include other parties with which the entity may control or can significantly influence the management or operating policies of the other to an extent that one of the transacting parties might be prevented from fully pursuing its own separate interests."
       }
      }
     },
     "localname": "RelatedPartyDomain",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/BasisOfPresentationDetailsNarrative",
      "http://flexiblesolutions.com/role/LongTermDebt.DetailsNarrative",
      "http://flexiblesolutions.com/role/ScheduleOfOutstandingBalanceLoanDetails",
      "http://flexiblesolutions.com/role/Short-termLineOfCredit.DetailsNarrative"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_RelatedPartyMember": {
     "auth_ref": [
      "r252",
      "r253",
      "r526",
      "r527",
      "r528",
      "r529",
      "r638",
      "r639",
      "r640",
      "r641",
      "r642",
      "r663",
      "r665",
      "r691"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Party related to reporting entity. Includes, but is not limited to, affiliate, entity for which investment is accounted for by equity method, trust for benefit of employees, and principal owner, management, and members of immediate family.",
        "label": "Related Party [Member]"
       }
      }
     },
     "localname": "RelatedPartyMember",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/BasisOfPresentationDetailsNarrative"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_RelatedPartyTransactionsByRelatedPartyAxis": {
     "auth_ref": [
      "r418",
      "r526",
      "r527",
      "r542",
      "r543",
      "r544",
      "r545",
      "r546",
      "r547",
      "r548",
      "r549",
      "r550",
      "r551",
      "r552",
      "r553",
      "r638",
      "r639",
      "r640",
      "r641",
      "r642",
      "r663",
      "r665",
      "r691",
      "r841"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of related party. Related parties include, but not limited to, affiliates; other entities for which investments are accounted for by the equity method by the entity; trusts for benefit of employees; and principal owners, management, and members of immediate families. It also may include other parties with which the entity may control or can significantly influence the management or operating policies of the other to an extent that one of the transacting parties might be prevented from fully pursuing its own separate interests.",
        "label": "Related Party, Type [Axis]"
       }
      }
     },
     "localname": "RelatedPartyTransactionsByRelatedPartyAxis",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/BasisOfPresentationDetailsNarrative",
      "http://flexiblesolutions.com/role/LongTermDebt.DetailsNarrative",
      "http://flexiblesolutions.com/role/ScheduleOfOutstandingBalanceLoanDetails",
      "http://flexiblesolutions.com/role/Short-termLineOfCredit.DetailsNarrative"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_RepaymentsOfLongTermDebt": {
     "auth_ref": [
      "r50",
      "r615"
     ],
     "calculation": {
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfCashFlows": {
       "order": 2.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash outflow for debt initially having maturity due after one year or beyond the normal operating cycle, if longer.",
        "label": "Repayments of Long-Term Debt",
        "negatedLabel": "Repayment of long term debt"
       }
      }
     },
     "localname": "RepaymentsOfLongTermDebt",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RepaymentsOfShortTermDebt": {
     "auth_ref": [
      "r50"
     ],
     "calculation": {
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfCashFlows": {
       "order": 1.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash outflow for a borrowing having initial term of repayment within one year or the normal operating cycle, if longer.",
        "label": "Repayments of Short-Term Debt",
        "negatedLabel": "Repayment of short term line of credit"
       }
      }
     },
     "localname": "RepaymentsOfShortTermDebt",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ResearchAndDevelopmentExpense": {
     "auth_ref": [
      "r116",
      "r458",
      "r850"
     ],
     "calculation": {
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfOperationsAndComprehensiveIncome": {
       "order": 12.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"
       }
      }
     },
     "localname": "ResearchAndDevelopmentExpense",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfOperationsAndComprehensiveIncome"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RetainedEarningsAccumulatedDeficit": {
     "auth_ref": [
      "r124",
      "r163",
      "r567",
      "r604",
      "r608",
      "r616",
      "r645",
      "r751"
     ],
     "calculation": {
      "http://flexiblesolutions.com/role/InterimConsolidatedBalanceSheets": {
       "order": 4.0,
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of accumulated undistributed earnings (deficit).",
        "label": "Accumulated earnings"
       }
      }
     },
     "localname": "RetainedEarningsAccumulatedDeficit",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RetainedEarningsMember": {
     "auth_ref": [
      "r203",
      "r255",
      "r256",
      "r257",
      "r261",
      "r269",
      "r271",
      "r334",
      "r337",
      "r455",
      "r456",
      "r457",
      "r468",
      "r469",
      "r482",
      "r484",
      "r485",
      "r488",
      "r491",
      "r601",
      "r603",
      "r619",
      "r865"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Accumulated undistributed earnings (deficit).",
        "label": "Retained Earnings [Member]"
       }
      }
     },
     "localname": "RetainedEarningsMember",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfStockholdersEquity"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax": {
     "auth_ref": [
      "r291",
      "r292",
      "r303",
      "r308",
      "r309",
      "r315",
      "r317",
      "r319",
      "r415",
      "r416",
      "r536"
     ],
     "calculation": {
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfOperationsAndComprehensiveIncome": {
       "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": "Sales",
        "terseLabel": "Revenue",
        "verboseLabel": "Sale"
       }
      }
     },
     "localname": "RevenueFromContractWithCustomerExcludingAssessedTax",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfOperationsAndComprehensiveIncome",
      "http://flexiblesolutions.com/role/ScheduleOfReportableSegmentsDetails",
      "http://flexiblesolutions.com/role/ScheduleOfRevenueGeneratedInUnitedStatesAndCanadaDetails",
      "http://flexiblesolutions.com/role/SignificantAccountingPoliciesDetailsNarrative"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RevenueFromContractWithCustomerMember": {
     "auth_ref": [
      "r319",
      "r788"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Revenue from satisfaction of performance obligation by transferring promised product and service to customer, when it serves as benchmark in concentration of risk calculation.",
        "label": "Revenue from Contract with Customer Benchmark [Member]"
       }
      }
     },
     "localname": "RevenueFromContractWithCustomerMember",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/SignificantAccountingPoliciesDetailsNarrative"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_RevenueFromContractWithCustomerPolicyTextBlock": {
     "auth_ref": [
      "r201",
      "r407",
      "r408",
      "r409",
      "r410",
      "r411",
      "r412",
      "r413",
      "r414",
      "r723"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for revenue from contract with customer.",
        "label": "Revenue Recognition."
       }
      }
     },
     "localname": "RevenueFromContractWithCustomerPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/SignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_Revenues": {
     "auth_ref": [
      "r237",
      "r251",
      "r291",
      "r292",
      "r303",
      "r308",
      "r309",
      "r315",
      "r317",
      "r319",
      "r332",
      "r365",
      "r366",
      "r367",
      "r368",
      "r369",
      "r370",
      "r371",
      "r372",
      "r373",
      "r497",
      "r559",
      "r827"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of revenue recognized from goods sold, services rendered, insurance premiums, or other activities that constitute an earning process. Includes, but is not limited to, investment and interest income before deduction of interest expense when recognized as a component of revenue, and sales and trading gain (loss).",
        "label": "Revenues",
        "verboseLabel": "Sales"
       }
      }
     },
     "localname": "Revenues",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/Investments.DetailsNarrative",
      "http://flexiblesolutions.com/role/Non-controllingInterestsDetailsNarrative"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems": {
     "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": "Revenues from External Customers and Long-Lived Assets [Line Items]"
       }
      }
     },
     "localname": "RevenuesFromExternalCustomersAndLongLivedAssetsLineItems",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfLong-livedAssetsAreLocatedInCanadaAndUnitedStatesDetails",
      "http://flexiblesolutions.com/role/ScheduleOfRevenueGeneratedInUnitedStatesAndCanadaDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_RevolvingCreditFacilityMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Arrangement in which loan proceeds can continuously be obtained following repayments, but the total amount borrowed cannot exceed a specified maximum amount.",
        "label": "Revolving Credit Facility [Member]"
       }
      }
     },
     "localname": "RevolvingCreditFacilityMember",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/Short-termLineOfCredit.DetailsNarrative"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_SalariesAndWages": {
     "auth_ref": [
      "r801"
     ],
     "calculation": {
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfOperationsAndComprehensiveIncome": {
       "order": 1.0,
       "parentTag": "us-gaap_OperatingExpenses",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of expense for salary and wage arising from service rendered by nonofficer employee. Excludes allocated cost, labor-related nonsalary expense, and direct and overhead labor cost included in cost of good and service sold.",
        "label": "Wages"
       }
      }
     },
     "localname": "SalariesAndWages",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfOperationsAndComprehensiveIncome"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock": {
     "auth_ref": [
      "r91",
      "r92"
     ],
     "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 FAIR VALUES OF THE ASSETS ACQUIRED AND LIABILITIES ASSUMED"
       }
      }
     },
     "localname": "ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/Investments.Tables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfDebtInstrumentsTextBlock": {
     "auth_ref": [
      "r39",
      "r79",
      "r80",
      "r108",
      "r109",
      "r111",
      "r114",
      "r161",
      "r162",
      "r736",
      "r738",
      "r811"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of long-debt instruments or arrangements, including identification, terms, features, collateral requirements and other information necessary to a fair presentation. These are debt arrangements that originally required repayment more than twelve months after issuance or greater than the normal operating cycle of the entity, if longer.",
        "label": "SCHEDULE OF OUTSTANDING BALANCE LOAN"
       }
      }
     },
     "localname": "ScheduleOfDebtInstrumentsTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/LongTermDebt.Tables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfDeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsByTitleOfIndividualAndByTypeOfDeferredCompensationTable": {
     "auth_ref": [
      "r82",
      "r164"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Schedule, table or text reflecting arrangements that are not equity-based payments, or pension and other postretirement benefits, with individual employees. The arrangements (for example, profit sharing, deferred bonuses or certain split-dollar life insurance arrangements) are generally based on employment contracts between the entity and one or more selected officers or key employees, and which contain a promise by the employer to pay certain amounts at designated future dates, sometimes including a period after retirement, upon compliance with stipulated requirements. This type of arrangement is distinguished from broader based employee benefit plans as it is usually tailored to the employee. Disclosure also typically includes the amount of related compensation expense recognized during the reporting period and the carrying amount as of the balance sheet date of the related liability.",
        "label": "Schedule of Deferred Compensation Arrangement with Individual, Excluding Share-Based Payments and Postretirement Benefits, by Title of Individual and by Type of Deferred Compensation [Table]"
       }
      }
     },
     "localname": "ScheduleOfDeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsByTitleOfIndividualAndByTypeOfDeferredCompensationTable",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/CapitalStockDetailsNarrative",
      "http://flexiblesolutions.com/role/StockOptions.DetailsNarrative"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfDefinedBenefitPlansDisclosuresTable": {
     "auth_ref": [
      "r16",
      "r83",
      "r84",
      "r85",
      "r86"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosures about an individual defined benefit pension plan or an other postretirement defined benefit plan. It may be appropriate to group certain similar plans. Also includes schedule for fair value of plan assets by major categories of plan assets 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 or liabilities (Level 1), Significant other observable inputs (Level 2), and significant unobservable inputs (Level 3).",
        "label": "Schedule of Defined Benefit Plans Disclosures [Table]"
       }
      }
     },
     "localname": "ScheduleOfDefinedBenefitPlansDisclosuresTable",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfOutstandingBalanceLoanDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock": {
     "auth_ref": [
      "r68"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the names of foreign countries in which material long-lived assets other than financial instruments, long-term customer relationships of a financial institution, mortgage and other servicing rights, deferred policy acquisition costs, and deferred tax assets are located, and amount of such long-lived assets located in that country or foreign geographic area.",
        "label": "SCHEDULE OF LONG-LIVED ASSETS ARE LOCATED IN CANADA AND UNITED STATES"
       }
      }
     },
     "localname": "ScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/SegmentedSignificantCustomerInformationAndEconomicDependencyTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable": {
     "auth_ref": [
      "r65"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular presentation of the description and amount of revenues from a product or service, or a group of similar products or similar services, reported from external customers during the period, if the information is not provided as part of the reportable operating segment information.",
        "label": "Revenue from External Customers by Products and Services [Table]"
       }
      }
     },
     "localname": "ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfReportableSegmentsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfEntityWideRevenueByMajorCustomersByReportingSegmentsTable": {
     "auth_ref": [
      "r150"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure about the extent of the entity's reliance on its major customers.",
        "label": "Schedule of Revenue by Major Customers, by Reporting Segments [Table]"
       }
      }
     },
     "localname": "ScheduleOfEntityWideRevenueByMajorCustomersByReportingSegmentsTable",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/SegmentedSignificantCustomerInformationAndEconomicDependencyDetailsNarrative"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfEquityMethodInvestmentsLineItems": {
     "auth_ref": [
      "r251",
      "r328",
      "r329",
      "r331",
      "r332",
      "r497"
     ],
     "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": "Schedule of Equity Method Investments [Line Items]"
       }
      }
     },
     "localname": "ScheduleOfEquityMethodInvestmentsLineItems",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/Investments.DetailsNarrative"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfEquityMethodInvestmentsTable": {
     "auth_ref": [
      "r207",
      "r251",
      "r328",
      "r329",
      "r331",
      "r332",
      "r497"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Summarization of information required and determined to be disclosed concerning equity method investments in common stock. The summarized information includes: (a) the name of each investee or group of investees for which combined disclosure is appropriate, (2) the percentage ownership of common stock, (3) the difference, if any, between the carrying amount of an investment and the value of the underlying equity in the net assets and the accounting treatment of difference, if any, and (4) the aggregate value of each identified investment based on its quoted market price, if available.",
        "label": "Schedule of Equity Method Investments [Table]"
       }
      }
     },
     "localname": "ScheduleOfEquityMethodInvestmentsTable",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/Investments.DetailsNarrative"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable": {
     "auth_ref": [
      "r72",
      "r74",
      "r537"
     ],
     "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/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/Patents.DetailsNarrative"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock": {
     "auth_ref": [
      "r72",
      "r74"
     ],
     "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 PATENTS"
       }
      }
     },
     "localname": "ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/Patents.Tables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfIntangibleAssetsAndGoodwillTableTextBlock": {
     "auth_ref": [
      "r69"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of goodwill and intangible assets, which may be broken down by segment or major class.",
        "label": "SCHEDULE OF GOODWILL AND INDEFINITE LIVED INTANGIBLE ASSETS"
       }
      }
     },
     "localname": "ScheduleOfIntangibleAssetsAndGoodwillTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/GoodwillAndIndefiniteLivedIntangibleAssets.Tables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfInventoryCurrentTableTextBlock": {
     "auth_ref": [
      "r30",
      "r128",
      "r129",
      "r130"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the carrying amount as of the balance sheet date of merchandise, goods, commodities, or supplies held for future sale or to be used in manufacturing, servicing or production process.",
        "label": "SCHEDULE OF INVENTORY"
       }
      }
     },
     "localname": "ScheduleOfInventoryCurrentTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/Inventories.Tables"
     ],
     "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/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/SignificantAccountingPoliciesDetailsNarrative"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfPropertyPlantAndEquipmentTable": {
     "auth_ref": [
      "r14"
     ],
     "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/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfMethodOfDepreciationDetails",
      "http://flexiblesolutions.com/role/ScheduleOfPropertyEquipmentAndLeaseholdsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock": {
     "auth_ref": [
      "r67",
      "r135"
     ],
     "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": "SCHEDULE OF REVENUE GENERATED IN UNITED STATES AND CANADA"
       }
      }
     },
     "localname": "ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/SegmentedSignificantCustomerInformationAndEconomicDependencyTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable": {
     "auth_ref": [
      "r66",
      "r132"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Schedule of material long-lived assets (excluding financial instruments, customer relationships with financial institutions, mortgage and other servicing rights, deferred policy acquisition costs, and deferred taxes assets) located in identified geographic areas and/or the amount of revenue from external customers attributed to that country from which revenue is material. An entity may also provide subtotals of geographic information about groups of countries.",
        "label": "Schedule of Revenues from External Customers and Long-Lived Assets [Table]"
       }
      }
     },
     "localname": "ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfLong-livedAssetsAreLocatedInCanadaAndUnitedStatesDetails",
      "http://flexiblesolutions.com/role/ScheduleOfRevenueGeneratedInUnitedStatesAndCanadaDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable": {
     "auth_ref": [
      "r421",
      "r423",
      "r425",
      "r426",
      "r427",
      "r428",
      "r429",
      "r430",
      "r431",
      "r432",
      "r433",
      "r434",
      "r435",
      "r436",
      "r437",
      "r438",
      "r439",
      "r440",
      "r441",
      "r442",
      "r443",
      "r444",
      "r445",
      "r446",
      "r447",
      "r448",
      "r449",
      "r450"
     ],
     "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/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfStockOptionActivitiesDetails",
      "http://flexiblesolutions.com/role/ScheduleOfStockOptionFairValueAssumptionsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock": {
     "auth_ref": [
      "r26",
      "r27",
      "r88"
     ],
     "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 STOCK OPTION ACTIVITIES"
       }
      }
     },
     "localname": "ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/StockOptions.Tables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock": {
     "auth_ref": [
      "r166"
     ],
     "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 STOCK OPTION FAIR VALUE ASSUMPTIONS"
       }
      }
     },
     "localname": "ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/StockOptions.Tables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfShortTermDebtTable": {
     "auth_ref": [
      "r33"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "A table or schedule providing information pertaining to borrowings under which repayment was required in less than twelve months (or normal operating cycle, if longer) after its issuance. It may include: (1) description of the short-term debt arrangement; (2) identification of the lender or type of lender; (3) repayment terms; (4) weighted average interest rate; (5) carrying amount of funds borrowed under the specified short-term debt arrangement as of the balance sheet date and measures of the maximum and average amount outstanding during the period; (6) description of the refinancing of a short-term obligation when that obligation is excluded from current liabilities in the balance sheet; and (7) amount of a short-term obligation that has been excluded from current liabilities in the balance sheet because of a refinancing of the obligation.",
        "label": "Schedule of Short-Term Debt [Table]"
       }
      }
     },
     "localname": "ScheduleOfShortTermDebtTable",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/LongTermDebt.DetailsNarrative"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock": {
     "auth_ref": [
      "r74"
     ],
     "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 ESTIMATED FUTURE AMORTIZATION EXPENSE"
       }
      }
     },
     "localname": "ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/GoodwillAndIndefiniteLivedIntangibleAssets.Tables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_SegmentDomain": {
     "auth_ref": [
      "r287",
      "r290",
      "r291",
      "r292",
      "r293",
      "r294",
      "r295",
      "r296",
      "r297",
      "r298",
      "r299",
      "r300",
      "r301",
      "r303",
      "r304",
      "r305",
      "r306",
      "r307",
      "r308",
      "r309",
      "r310",
      "r311",
      "r313",
      "r319",
      "r344",
      "r345",
      "r346",
      "r347",
      "r348",
      "r349",
      "r350",
      "r351",
      "r352",
      "r359",
      "r360",
      "r583",
      "r584",
      "r585",
      "r586",
      "r587",
      "r588",
      "r589",
      "r590",
      "r591",
      "r592",
      "r593",
      "r734",
      "r790",
      "r857"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Components of an entity that engage in business activities from which they may earn revenue and incur expenses, including transactions with other components of the same entity."
       }
      }
     },
     "localname": "SegmentDomain",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfReportableSegmentsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_SegmentReportingAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Segment Reporting [Abstract]"
       }
      }
     },
     "localname": "SegmentReportingAbstract",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "xbrltype": "stringItemType"
    },
    "us-gaap_SegmentReportingDisclosureTextBlock": {
     "auth_ref": [
      "r286",
      "r287",
      "r288",
      "r289",
      "r290",
      "r302",
      "r307",
      "r311",
      "r312",
      "r313",
      "r314",
      "r315",
      "r316",
      "r319"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for reporting segments including data and tables. Reportable segments include those that meet any of the following quantitative thresholds a) it's reported revenue, including sales to external customers and intersegment sales or transfers is 10 percent or more of the combined revenue, internal and external, of all operating segments b) the absolute amount of its reported profit or loss is 10 percent or more of the greater, in absolute amount of 1) the combined reported profit of all operating segments that did not report a loss or 2) the combined reported loss of all operating segments that did report a loss c) its assets are 10 percent or more of the combined assets of all operating segments.",
        "label": "SEGMENTED, SIGNIFICANT CUSTOMER INFORMATION AND ECONOMIC DEPENDENCY"
       }
      }
     },
     "localname": "SegmentReportingDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/SegmentedSignificantCustomerInformationAndEconomicDependency"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_SellingAndMarketingExpense": {
     "auth_ref": [],
     "calculation": {
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfOperationsAndComprehensiveIncome": {
       "order": 9.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": "Advertising and promotion"
       }
      }
     },
     "localname": "SellingAndMarketingExpense",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfOperationsAndComprehensiveIncome"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ShareBasedCompensation": {
     "auth_ref": [
      "r11"
     ],
     "calculation": {
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfCashFlows": {
       "order": 2.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": "Stock based compensation"
       }
      }
     },
     "localname": "ShareBasedCompensation",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate": {
     "auth_ref": [
      "r447"
     ],
     "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": "Volatility"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfStockOptionFairValueAssumptionsDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate": {
     "auth_ref": [
      "r449"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The risk-free interest rate assumption that is used in valuing an option on its own shares.",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Fair Value Assumptions, Risk Free Interest Rate",
        "verboseLabel": "Interest rate"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfStockOptionFairValueAssumptionsDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems": {
     "auth_ref": [
      "r421",
      "r423",
      "r425",
      "r426",
      "r427",
      "r428",
      "r429",
      "r430",
      "r431",
      "r432",
      "r433",
      "r434",
      "r435",
      "r436",
      "r437",
      "r438",
      "r439",
      "r440",
      "r441",
      "r442",
      "r443",
      "r444",
      "r445",
      "r446",
      "r447",
      "r448",
      "r449",
      "r450"
     ],
     "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/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfStockOptionActivitiesDetails",
      "http://flexiblesolutions.com/role/ScheduleOfStockOptionFairValueAssumptionsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber": {
     "auth_ref": [
      "r430"
     ],
     "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 shares Exercisable, Ending Balance"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfStockOptionActivitiesDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice": {
     "auth_ref": [
      "r430"
     ],
     "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, Ending Balance"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfStockOptionActivitiesDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod": {
     "auth_ref": [
      "r833"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "For presentations that combine terminations, 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 or that expired.",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Forfeitures and Expirations in Period",
        "negatedLabel": "Number of shares, Cancelled or expired"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfStockOptionActivitiesDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice": {
     "auth_ref": [
      "r833"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted average price of options that were either forfeited or expired.",
        "label": "Weighted average exercise price, Cancelled or expired"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfStockOptionActivitiesDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross": {
     "auth_ref": [
      "r432"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Gross number of share options (or share units) granted during the period.",
        "label": "Number of shares, Granted",
        "verboseLabel": "Stock options granted"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/CapitalStockDetailsNarrative",
      "http://flexiblesolutions.com/role/ScheduleOfStockOptionActivitiesDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue": {
     "auth_ref": [
      "r442"
     ],
     "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 of options granted"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfStockOptionFairValueAssumptionsDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber": {
     "auth_ref": [
      "r428",
      "r429"
     ],
     "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 shares Exercisable, Ending Balance",
        "periodStartLabel": "Number of shares, Beginning Balance"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfStockOptionActivitiesDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice": {
     "auth_ref": [
      "r428",
      "r429"
     ],
     "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, Ending Balance",
        "periodStartLabel": "Weighted average exercise price, Beginning Balance"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfStockOptionActivitiesDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAggregateIntrinsicValue": {
     "auth_ref": [
      "r445"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount by which current fair value of underlying stock exceeds exercise price of fully vested and expected to vest exercisable or convertible options. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur.",
        "label": "Aggregate intrinsic value of vested options"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAggregateIntrinsicValue",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/StockOptions.DetailsNarrative"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice": {
     "auth_ref": [
      "r433"
     ],
     "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/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfStockOptionActivitiesDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice": {
     "auth_ref": [
      "r432"
     ],
     "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/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfStockOptionActivitiesDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_SharePrice": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Price of a single share of a number of saleable stocks of a company.",
        "label": "Share price"
       }
      }
     },
     "localname": "SharePrice",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/Investments.DetailsNarrative"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage": {
     "auth_ref": [
      "r832"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of vesting of award under share-based payment arrangement.",
        "label": "Options granted percentage"
       }
      }
     },
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/StockOptions.DetailsNarrative"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod": {
     "auth_ref": [
      "r746"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Period from grant date that an equity-based award expires, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.",
        "label": "Options maximum granted term"
       }
      }
     },
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/StockOptions.DetailsNarrative"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1": {
     "auth_ref": [
      "r446"
     ],
     "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/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfStockOptionFairValueAssumptionsDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2": {
     "auth_ref": [
      "r165"
     ],
     "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"
       }
      }
     },
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/StockOptions.DetailsNarrative"
     ],
     "xbrltype": "durationItemType"
    },
    "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": "Balance, shares"
       }
      }
     },
     "localname": "SharesOutstanding",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfStockholdersEquity"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShippingAndHandlingMember": {
     "auth_ref": [
      "r831"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Packing and transport of product.",
        "label": "Shipping and Handling [Member]"
       }
      }
     },
     "localname": "ShippingAndHandlingMember",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/SignificantAccountingPoliciesDetailsNarrative"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ShortTermBorrowings": {
     "auth_ref": [
      "r118",
      "r172",
      "r751",
      "r853"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Reflects the total carrying amount as of the balance sheet date of debt having initial terms less than one year or the normal operating cycle, if longer.",
        "label": "Short term borrowings"
       }
      }
     },
     "localname": "ShortTermBorrowings",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/Short-termLineOfCredit.DetailsNarrative"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ShortTermDebtLineItems": {
     "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": "Short-Term Debt [Line Items]"
       }
      }
     },
     "localname": "ShortTermDebtLineItems",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/LongTermDebt.DetailsNarrative"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ShortTermDebtTextBlock": {
     "auth_ref": [
      "r159"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for short-term debt.",
        "label": "SHORT-TERM LINE OF CREDIT."
       }
      }
     },
     "localname": "ShortTermDebtTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/Short-termLineOfCredit."
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ShortTermInvestments": {
     "auth_ref": [
      "r176",
      "r177",
      "r797"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of investments including trading securities, available-for-sale securities, held-to-maturity securities, and short-term investments classified as other and current.",
        "label": "Short-Term Investments",
        "periodEndLabel": "Term deposits"
       }
      }
     },
     "localname": "ShortTermInvestments",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_SignificantAccountingPoliciesTextBlock": {
     "auth_ref": [
      "r148",
      "r248"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for all significant accounting policies of the reporting entity.",
        "label": "SIGNIFICANT ACCOUNTING POLICIES"
       }
      }
     },
     "localname": "SignificantAccountingPoliciesTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/SignificantAccountingPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_StatementBusinessSegmentsAxis": {
     "auth_ref": [
      "r206",
      "r287",
      "r290",
      "r291",
      "r292",
      "r293",
      "r294",
      "r295",
      "r296",
      "r297",
      "r298",
      "r299",
      "r300",
      "r301",
      "r303",
      "r304",
      "r305",
      "r306",
      "r307",
      "r308",
      "r309",
      "r310",
      "r311",
      "r313",
      "r319",
      "r344",
      "r345",
      "r346",
      "r347",
      "r348",
      "r349",
      "r350",
      "r351",
      "r352",
      "r358",
      "r359",
      "r360",
      "r583",
      "r584",
      "r585",
      "r586",
      "r587",
      "r588",
      "r589",
      "r590",
      "r591",
      "r592",
      "r593",
      "r734",
      "r790",
      "r857"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by business segments.",
        "label": "Segments [Axis]"
       }
      }
     },
     "localname": "StatementBusinessSegmentsAxis",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfReportableSegmentsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementClassOfStockAxis": {
     "auth_ref": [
      "r202",
      "r219",
      "r220",
      "r221",
      "r251",
      "r276",
      "r277",
      "r279",
      "r281",
      "r284",
      "r285",
      "r332",
      "r365",
      "r367",
      "r368",
      "r369",
      "r372",
      "r373",
      "r393",
      "r394",
      "r396",
      "r399",
      "r405",
      "r497",
      "r612",
      "r613",
      "r614",
      "r615",
      "r619",
      "r620",
      "r621",
      "r622",
      "r623",
      "r624",
      "r625",
      "r626",
      "r627",
      "r628",
      "r629",
      "r631",
      "r644",
      "r667",
      "r686",
      "r701",
      "r702",
      "r703",
      "r704",
      "r705",
      "r786",
      "r808",
      "r815"
     ],
     "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/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/Investments.DetailsNarrative"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementEquityComponentsAxis": {
     "auth_ref": [
      "r24",
      "r40",
      "r203",
      "r233",
      "r234",
      "r235",
      "r255",
      "r256",
      "r257",
      "r261",
      "r269",
      "r271",
      "r283",
      "r334",
      "r337",
      "r406",
      "r455",
      "r456",
      "r457",
      "r468",
      "r469",
      "r482",
      "r483",
      "r484",
      "r485",
      "r486",
      "r488",
      "r491",
      "r506",
      "r507",
      "r508",
      "r509",
      "r510",
      "r511",
      "r524",
      "r601",
      "r602",
      "r603",
      "r619",
      "r686"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by component of equity.",
        "label": "Equity Components [Axis]"
       }
      }
     },
     "localname": "StatementEquityComponentsAxis",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfStockholdersEquity"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementLineItems": {
     "auth_ref": [
      "r255",
      "r256",
      "r257",
      "r283",
      "r536",
      "r610",
      "r631",
      "r637",
      "r638",
      "r639",
      "r640",
      "r641",
      "r642",
      "r644",
      "r647",
      "r648",
      "r649",
      "r650",
      "r651",
      "r654",
      "r655",
      "r656",
      "r657",
      "r659",
      "r660",
      "r661",
      "r662",
      "r663",
      "r665",
      "r668",
      "r669",
      "r671",
      "r672",
      "r673",
      "r674",
      "r675",
      "r676",
      "r677",
      "r678",
      "r679",
      "r680",
      "r681",
      "r682",
      "r686",
      "r757"
     ],
     "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/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/BasisOfPresentationDetailsNarrative",
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfStockholdersEquity",
      "http://flexiblesolutions.com/role/Investments.Tables",
      "http://flexiblesolutions.com/role/ScheduleOfEquityMethodInvestmentDetails",
      "http://flexiblesolutions.com/role/ScheduleOfGoodwillAndIndefiniteLivedIntangibleAssetsDetails"
     ],
     "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/2023",
     "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/2023",
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementOfStockholdersEquityAbstract": {
     "auth_ref": [],
     "localname": "StatementOfStockholdersEquityAbstract",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementTable": {
     "auth_ref": [
      "r255",
      "r256",
      "r257",
      "r283",
      "r536",
      "r610",
      "r631",
      "r637",
      "r638",
      "r639",
      "r640",
      "r641",
      "r642",
      "r644",
      "r647",
      "r648",
      "r649",
      "r650",
      "r651",
      "r654",
      "r655",
      "r656",
      "r657",
      "r659",
      "r660",
      "r661",
      "r662",
      "r663",
      "r665",
      "r668",
      "r669",
      "r671",
      "r672",
      "r673",
      "r674",
      "r675",
      "r676",
      "r677",
      "r678",
      "r679",
      "r680",
      "r681",
      "r682",
      "r686",
      "r757"
     ],
     "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/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/BasisOfPresentationDetailsNarrative",
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfStockholdersEquity",
      "http://flexiblesolutions.com/role/Investments.Tables",
      "http://flexiblesolutions.com/role/ScheduleOfEquityMethodInvestmentDetails",
      "http://flexiblesolutions.com/role/ScheduleOfGoodwillAndIndefiniteLivedIntangibleAssetsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "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": "Consultant for services, shares"
       }
      }
     },
     "localname": "StockIssuedDuringPeriodSharesIssuedForServices",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/CapitalStockDetailsNarrative"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_StockIssuedDuringPeriodSharesNewIssues": {
     "auth_ref": [
      "r24",
      "r121",
      "r122",
      "r163",
      "r612",
      "r686",
      "r702"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of new stock issued during the period.",
        "label": "Common stock issued, shares"
       }
      }
     },
     "localname": "StockIssuedDuringPeriodSharesNewIssues",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfStockholdersEquity",
      "http://flexiblesolutions.com/role/Investments.DetailsNarrative"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised": {
     "auth_ref": [
      "r24",
      "r121",
      "r122",
      "r163",
      "r433"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of share options (or share units) exercised during the current period.",
        "label": "Stock options exercised",
        "negatedLabel": "Number of shares, Exercised"
       }
      }
     },
     "localname": "StockIssuedDuringPeriodSharesStockOptionsExercised",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfStockOptionActivitiesDetails",
      "http://flexiblesolutions.com/role/StockOptions.DetailsNarrative"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_StockIssuedDuringPeriodValueIssuedForServices": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Value of stock issued in lieu of cash for services contributed to the entity. Value of the stock issued includes, but is not limited to, services contributed by vendors and founders.",
        "label": "Consultant for services, value"
       }
      }
     },
     "localname": "StockIssuedDuringPeriodValueIssuedForServices",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/CapitalStockDetailsNarrative"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_StockIssuedDuringPeriodValueNewIssues": {
     "auth_ref": [
      "r24",
      "r121",
      "r122",
      "r163",
      "r619",
      "r686",
      "r702",
      "r763"
     ],
     "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": "Common stock issued"
       }
      }
     },
     "localname": "StockIssuedDuringPeriodValueNewIssues",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfStockholdersEquity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_StockOptionPlanExpense": {
     "auth_ref": [
      "r12"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of noncash expense for option under share-based payment arrangement.",
        "label": "Stock option plan expense"
       }
      }
     },
     "localname": "StockOptionPlanExpense",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/StockOptions.DetailsNarrative"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_StockholdersEquity": {
     "auth_ref": [
      "r122",
      "r125",
      "r126",
      "r151",
      "r646",
      "r664",
      "r687",
      "r688",
      "r751",
      "r764",
      "r810",
      "r820",
      "r836",
      "r865"
     ],
     "calculation": {
      "http://flexiblesolutions.com/role/InterimConsolidatedBalanceSheets": {
       "order": 1.0,
       "parentTag": "us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of equity (deficit) attributable to parent. Excludes temporary equity and equity attributable to noncontrolling interest.",
        "label": "Equity, Attributable to Parent",
        "totalLabel": "Total stockholders\u2019 equity \u2013 controlling interest"
       }
      }
     },
     "localname": "StockholdersEquity",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_StockholdersEquityAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stockholders\u2019 Equity"
       }
      }
     },
     "localname": "StockholdersEquityAbstract",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedBalanceSheets"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest": {
     "auth_ref": [
      "r96",
      "r97",
      "r99",
      "r203",
      "r204",
      "r234",
      "r255",
      "r256",
      "r257",
      "r261",
      "r269",
      "r334",
      "r337",
      "r406",
      "r455",
      "r456",
      "r457",
      "r468",
      "r469",
      "r482",
      "r483",
      "r484",
      "r485",
      "r486",
      "r488",
      "r491",
      "r506",
      "r507",
      "r511",
      "r524",
      "r602",
      "r603",
      "r617",
      "r646",
      "r664",
      "r687",
      "r688",
      "r706",
      "r763",
      "r810",
      "r820",
      "r836",
      "r865"
     ],
     "calculation": {
      "http://flexiblesolutions.com/role/InterimConsolidatedBalanceSheets": {
       "order": 2.0,
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of equity (deficit) attributable to parent and noncontrolling interest. Excludes temporary equity.",
        "label": "Equity, Including Portion Attributable to Noncontrolling Interest",
        "periodEndLabel": "Balance",
        "periodStartLabel": "Balance",
        "totalLabel": "Total Stockholders\u2019 Equity"
       }
      }
     },
     "localname": "StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedBalanceSheets",
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfStockholdersEquity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_StockholdersEquityNoteDisclosureTextBlock": {
     "auth_ref": [
      "r160",
      "r250",
      "r392",
      "r394",
      "r395",
      "r396",
      "r397",
      "r398",
      "r399",
      "r400",
      "r401",
      "r402",
      "r403",
      "r404",
      "r406",
      "r489",
      "r689",
      "r690",
      "r707"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for equity.",
        "label": "CAPITAL STOCK"
       }
      }
     },
     "localname": "StockholdersEquityNoteDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/CapitalStock"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_SubsequentEventsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Subsequent Events [Abstract]"
       }
      }
     },
     "localname": "SubsequentEventsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "xbrltype": "stringItemType"
    },
    "us-gaap_SubsequentEventsTextBlock": {
     "auth_ref": [
      "r530",
      "r531"
     ],
     "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/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/SubsequentEvents"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The number of units or percentage investment held in the subsidiary by the limited liability company or limited partnership.",
        "label": "Subsidiary company ownership interest rate related party",
        "verboseLabel": "Subsidiary company ownership interest rate"
       }
      }
     },
     "localname": "SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/BasisOfPresentationDetailsNarrative",
      "http://flexiblesolutions.com/role/Non-controllingInterestsDetailsNarrative"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_SupplementalCashFlowInformationAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Supplemental disclosure of cash flow information:"
       }
      }
     },
     "localname": "SupplementalCashFlowInformationAbstract",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_TaxesPayableCurrent": {
     "auth_ref": [
      "r34"
     ],
     "calculation": {
      "http://flexiblesolutions.com/role/InterimConsolidatedBalanceSheets": {
       "order": 4.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/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_TechnologyEquipmentMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Equipment used in the creation, maintenance and utilization of information systems which include computers and peripherals.",
        "label": "Technology Equipment [Member]"
       }
      }
     },
     "localname": "TechnologyEquipmentMember",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfMethodOfDepreciationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_TravelAndEntertainmentExpense": {
     "auth_ref": [
      "r139"
     ],
     "calculation": {
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfOperationsAndComprehensiveIncome": {
       "order": 8.0,
       "parentTag": "us-gaap_OperatingExpenses",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Expenses incurred for travel and entertainment during the period.",
        "label": "Travel"
       }
      }
     },
     "localname": "TravelAndEntertainmentExpense",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfOperationsAndComprehensiveIncome"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_TypeOfArrangementAxis": {
     "auth_ref": [
      "r474"
     ],
     "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/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfDistributionsDetails",
      "http://flexiblesolutions.com/role/ScheduleOfNonControllingInterestRelatedToAcquisitionDetails",
      "http://flexiblesolutions.com/role/Short-termLineOfCredit.DetailsNarrative"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_UseOfEstimates": {
     "auth_ref": [
      "r60",
      "r61",
      "r62",
      "r187",
      "r188",
      "r191",
      "r192"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for the use of estimates in the preparation of financial statements in conformity with generally accepted accounting principles.",
        "label": "Use of Estimates."
       }
      }
     },
     "localname": "UseOfEstimates",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/SignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_UtilitiesOperatingExpense": {
     "auth_ref": [
      "r138"
     ],
     "calculation": {
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfOperationsAndComprehensiveIncome": {
       "order": 15.0,
       "parentTag": "us-gaap_OperatingExpenses",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of operating expense of regulated operation.",
        "label": "Utilities"
       }
      }
     },
     "localname": "UtilitiesOperatingExpense",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfOperationsAndComprehensiveIncome"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_VariableRateAxis": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of variable rate.",
        "label": "Variable Rate [Axis]"
       }
      }
     },
     "localname": "VariableRateAxis",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/LongTermDebt.DetailsNarrative"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_VariableRateDomain": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Interest rate that fluctuates over time as a result of an underlying benchmark interest rate or index."
       }
      }
     },
     "localname": "VariableRateDomain",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/LongTermDebt.DetailsNarrative"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding": {
     "auth_ref": [
      "r275",
      "r281"
     ],
     "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": "Weighted average number of common shares (diluted)"
       }
      }
     },
     "localname": "WeightedAverageNumberOfDilutedSharesOutstanding",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfOperationsAndComprehensiveIncome"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_WeightedAverageNumberOfSharesOutstandingBasic": {
     "auth_ref": [
      "r274",
      "r281"
     ],
     "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 common shares (basic)"
       }
      }
     },
     "localname": "WeightedAverageNumberOfSharesOutstandingBasic",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfOperationsAndComprehensiveIncome"
     ],
     "xbrltype": "sharesItemType"
    }
   },
   "unitCount": 7
  }
 },
 "std_ref": {
  "r0": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "05",
   "SubTopic": "10",
   "Topic": "360",
   "URI": "https://asc.fasb.org//1943274/2147482338/360-10-05-4",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r1": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "25",
   "SubTopic": "20",
   "Topic": "940",
   "URI": "https://asc.fasb.org//1943274/2147481913/940-20-25-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r10": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "21D",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-21D",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r100": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4J",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Topic": "810",
   "URI": "https://asc.fasb.org//1943274/2147481175/810-10-55-4J",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r101": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4K",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Topic": "810",
   "URI": "https://asc.fasb.org//1943274/2147481175/810-10-55-4K",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r102": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4M",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Topic": "810",
   "URI": "https://asc.fasb.org//1943274/2147481175/810-10-55-4M",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r103": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "820",
   "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r104": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "820",
   "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-3",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r105": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "825",
   "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-20",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r106": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "21",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "825",
   "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-21",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r107": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)",
   "Topic": "825",
   "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-28",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r108": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "835",
   "URI": "https://asc.fasb.org//1943274/2147482925/835-30-45-1A",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r109": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "835",
   "URI": "https://asc.fasb.org//1943274/2147482925/835-30-45-2",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r11": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "230",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r110": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "835",
   "URI": "https://asc.fasb.org//1943274/2147482925/835-30-45-3",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r111": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "30",
   "Topic": "835",
   "URI": "https://asc.fasb.org//1943274/2147482949/835-30-55-8",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r112": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03.12)",
   "Topic": "942",
   "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r113": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03.15(5))",
   "Topic": "942",
   "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r114": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "470",
   "Topic": "942",
   "URI": "https://asc.fasb.org//1943274/2147480848/942-470-50-3",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r115": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "825",
   "Topic": "942",
   "URI": "https://asc.fasb.org//1943274/2147480981/942-825-50-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r116": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "985",
   "URI": "https://asc.fasb.org//1943274/2147481283/985-20-50-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r117": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "205",
   "URI": "https://asc.fasb.org//205/tableOfContent",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r118": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(19)(a))",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r119": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(19))",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r12": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "230",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r120": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(20))",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r121": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(28))",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r122": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(29))",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r123": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(30)(a)(1))",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r124": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(30)(a)(3))",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r125": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(30))",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r126": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(31))",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r127": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(32))",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r128": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(6)(a))",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r129": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(6)(b))",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r13": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "230",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-9",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r130": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(6)(c))",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r131": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-11",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r132": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(1))",
   "Topic": "220",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r133": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(10))",
   "Topic": "220",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r134": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(20))",
   "Topic": "220",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r135": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.1)",
   "Topic": "220",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r136": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.1,2)",
   "Topic": "220",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r137": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.2(a),(d))",
   "Topic": "220",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r138": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.2(b))",
   "Topic": "220",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r139": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.4)",
   "Topic": "220",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r14": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "360",
   "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r140": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.6)",
   "Topic": "220",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r141": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.7(c),9(a))",
   "Topic": "220",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r142": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.8)",
   "Topic": "220",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r143": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-13",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r144": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "230",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-13",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r145": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "24",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-24",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r146": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-25",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r147": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r148": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "235",
   "URI": "https://asc.fasb.org//235/tableOfContent",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r149": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "275",
   "URI": "https://asc.fasb.org//275/tableOfContent",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r15": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "825",
   "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r150": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "42",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-42",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r151": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 4.E)",
   "Topic": "310",
   "URI": "https://asc.fasb.org//1943274/2147480418/310-10-S99-2",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r152": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "350",
   "URI": "https://asc.fasb.org//350/tableOfContent",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r153": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)(1)",
   "Topic": "350",
   "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r154": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)(3)",
   "Topic": "350",
   "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r155": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(b)",
   "Topic": "350",
   "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r156": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "360",
   "URI": "https://asc.fasb.org//360/tableOfContent",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r157": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "360",
   "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r158": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 5.CC)",
   "Topic": "360",
   "URI": "https://asc.fasb.org//1943274/2147480091/360-10-S99-2",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r159": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "470",
   "URI": "https://asc.fasb.org//470/tableOfContent",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r16": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "715",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r160": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "505",
   "URI": "https://asc.fasb.org//505/tableOfContent",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r161": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "505",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-6",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r162": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "505",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-7",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r163": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.3-04)",
   "Topic": "505",
   "URI": "https://asc.fasb.org//1943274/2147480008/505-10-S99-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r164": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "30",
   "SubTopic": "10",
   "Topic": "710",
   "URI": "https://asc.fasb.org//1943274/2147483043/710-10-30-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r165": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)(1)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r166": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r167": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "38",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "805",
   "URI": "https://asc.fasb.org//1943274/2147479876/805-20-55-38",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r168": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "810",
   "URI": "https://asc.fasb.org//810/tableOfContent",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r169": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "19",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "810",
   "URI": "https://asc.fasb.org//1943274/2147481231/810-10-45-19",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r17": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Topic": "350",
   "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r170": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(2)",
   "Topic": "810",
   "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-1A",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r171": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(11))",
   "Topic": "942",
   "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r172": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(13))",
   "Topic": "942",
   "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r173": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(16))",
   "Topic": "942",
   "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r174": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(22))",
   "Topic": "942",
   "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r175": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(23))",
   "Topic": "942",
   "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r176": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(4))",
   "Topic": "942",
   "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r177": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(5))",
   "Topic": "942",
   "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r178": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04(15))",
   "Topic": "942",
   "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r179": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04(22))",
   "Topic": "942",
   "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r18": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(b)",
   "Topic": "805",
   "URI": "https://asc.fasb.org//1943274/2147479581/805-30-50-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r180": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04.9)",
   "Topic": "942",
   "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r181": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "740",
   "URI": "https://asc.fasb.org//1943274/2147482659/740-20-45-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r182": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "210",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147480555/946-210-45-20",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r183": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "360",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147479638/944-360-45-3",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r184": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "360",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147479638/944-360-45-4",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r185": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "270",
   "URI": "https://asc.fasb.org//1943274/2147482989/270-10-45-6",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r186": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "360",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147479607/944-360-50-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r187": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "275",
   "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r188": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "275",
   "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r189": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "275",
   "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r19": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "740",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-15",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r190": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "360",
   "Subparagraph": "(d)",
   "Topic": "958",
   "URI": "https://asc.fasb.org//1943274/2147480321/958-360-50-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r191": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "275",
   "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-11",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r192": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "275",
   "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-12",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r193": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "360",
   "Topic": "958",
   "URI": "https://asc.fasb.org//1943274/2147480321/958-360-50-6",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r194": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "360",
   "Topic": "958",
   "URI": "https://asc.fasb.org//1943274/2147480321/958-360-50-7",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r195": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "20",
   "Subparagraph": "(d)(1)",
   "Topic": "310",
   "URI": "https://asc.fasb.org//1943274/2147481925/310-20-65-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r196": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "20",
   "Subparagraph": "(d)(2)",
   "Topic": "310",
   "URI": "https://asc.fasb.org//1943274/2147481925/310-20-65-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r197": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(h))",
   "Topic": "235",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r198": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.22(a)(2))",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r199": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "250",
   "URI": "https://asc.fasb.org//250/tableOfContent",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r2": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "30",
   "SubTopic": "30",
   "Topic": "805",
   "URI": "https://asc.fasb.org//1943274/2147479637/805-30-30-7",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r20": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)",
   "Topic": "810",
   "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-1A",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r200": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "323",
   "URI": "https://asc.fasb.org//323/tableOfContent",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r201": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "606",
   "URI": "https://asc.fasb.org//606/tableOfContent",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r202": {
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Paragraph": "(a)",
   "Publisher": "SEC",
   "Section": "1402",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r203": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "105",
   "URI": "https://asc.fasb.org//1943274/2147479343/105-10-65-6",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r204": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "105",
   "URI": "https://asc.fasb.org//1943274/2147479343/105-10-65-6",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r205": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(f)",
   "Topic": "105",
   "URI": "https://asc.fasb.org//1943274/2147479343/105-10-65-6",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r206": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)",
   "Topic": "205",
   "URI": "https://asc.fasb.org//1943274/2147483499/205-20-50-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r207": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "205",
   "URI": "https://asc.fasb.org//1943274/2147483499/205-20-50-7",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r208": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r209": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-5",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r21": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(3)",
   "Topic": "810",
   "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-1A",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r210": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147483489/210-10-50-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r211": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(1))",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r212": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(13))",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r213": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(14))",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r214": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(15))",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r215": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(16))",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r216": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(18))",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r217": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(20))",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r218": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(22))",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r219": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(27)(b))",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r22": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c),(3)",
   "Topic": "810",
   "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-1A",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r220": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(28))",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r221": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(29))",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r222": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(3)(a)(1))",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r223": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(30)(a)(4))",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r224": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(6)(b))",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r225": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(6))",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r226": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(7))",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r227": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(9))",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r228": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "220",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-1A",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r229": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "220",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-1A",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r23": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "810",
   "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-1A",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r230": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "220",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-1B",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r231": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "220",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-1B",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r232": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r233": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-4",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r234": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-5",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r235": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-6",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r236": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(210.5-03(11))",
   "Topic": "220",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r237": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(1))",
   "Topic": "220",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r238": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(22))",
   "Topic": "220",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r239": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(23))",
   "Topic": "220",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r24": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "505",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-2",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r240": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(24))",
   "Topic": "220",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r241": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(25))",
   "Topic": "220",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r242": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "17",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "230",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-17",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r243": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r244": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "24",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-24",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r245": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "230",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-25",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r246": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r247": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-8",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r248": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "235",
   "URI": "https://asc.fasb.org//1943274/2147483426/235-10-50-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r249": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(c))",
   "Topic": "235",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r25": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "820",
   "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r250": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(e)(1))",
   "Topic": "235",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r251": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(g)(1)(ii))",
   "Topic": "235",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r252": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(k)(1))",
   "Topic": "235",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r253": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(k)(2))",
   "Topic": "235",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r254": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.12-04(a))",
   "Topic": "235",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-3",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r255": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "23",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "250",
   "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-23",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r256": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "24",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-24",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r257": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "250",
   "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-5",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r258": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "250",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r259": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)(1)",
   "Topic": "250",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r26": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r260": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)(2)",
   "Topic": "250",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r261": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)(3)",
   "Topic": "250",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r262": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)(4)",
   "Topic": "250",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r263": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)",
   "Topic": "250",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r264": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "250",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-11",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r265": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "250",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-11",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r266": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-3",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r267": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-4",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r268": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "250",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-7",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r269": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "250",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-7",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r27": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r270": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-8",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r271": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-9",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r272": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 11.M.Q2)",
   "Topic": "250",
   "URI": "https://asc.fasb.org//1943274/2147480530/250-10-S99-5",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r273": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "https://asc.fasb.org//1943274/2147480530/250-10-S99-6",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r274": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-10",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r275": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "16",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-16",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r276": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r277": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-3",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r278": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "60B",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "260",
   "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-60B",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r279": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "60B",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "260",
   "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-60B",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r28": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "60",
   "SubTopic": "10",
   "Topic": "820",
   "URI": "https://asc.fasb.org//1943274/2147482053/820-10-60-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r280": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-7",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r281": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "260",
   "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r282": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "https://asc.fasb.org//1943274/2147482635/260-10-55-15",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r283": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "272",
   "URI": "https://asc.fasb.org//1943274/2147483014/272-10-45-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r284": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "272",
   "URI": "https://asc.fasb.org//1943274/2147482987/272-10-50-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r285": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "272",
   "URI": "https://asc.fasb.org//1943274/2147482987/272-10-50-3",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r286": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "280",
   "URI": "https://asc.fasb.org//280/tableOfContent",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r287": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-15",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r288": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "21",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "280",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-21",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r289": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "21",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "280",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-21",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r29": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(22))",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r290": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r291": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "280",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r292": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "280",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r293": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "280",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r294": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "280",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r295": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "280",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r296": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)",
   "Topic": "280",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r297": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(g)",
   "Topic": "280",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r298": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(h)",
   "Topic": "280",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r299": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(j)",
   "Topic": "280",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r3": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "30",
   "SubTopic": "30",
   "Topic": "805",
   "URI": "https://asc.fasb.org//1943274/2147479637/805-30-30-8",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r30": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147483489/210-10-50-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r300": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "280",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-25",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r301": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "280",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-25",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r302": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "26",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-26",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r303": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "30",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "280",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r304": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "30",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "280",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r305": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "30",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "280",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r306": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "30",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "280",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r307": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "31",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-31",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r308": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "32",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "280",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r309": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "32",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "280",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r31": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.19(a))",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r310": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "32",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "280",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r311": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "32",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "280",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r312": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "32",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "280",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r313": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "32",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)",
   "Topic": "280",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r314": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "34",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-34",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r315": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "40",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-40",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r316": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "41",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-41",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r317": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "41",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "280",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-41",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r318": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "41",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "280",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-41",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r319": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "42",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-42",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r32": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.19(b),22(b))",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r320": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "SubTopic": "10",
   "Topic": "310",
   "URI": "https://asc.fasb.org//310-10/tableOfContent",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r321": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "310",
   "URI": "https://asc.fasb.org//1943274/2147481990/310-10-45-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r322": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "310",
   "URI": "https://asc.fasb.org//1943274/2147481990/310-10-45-9",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r323": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "42",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(2)",
   "Topic": "310",
   "URI": "https://asc.fasb.org//1943274/2147481962/310-10-50-42",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r324": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "44",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(1)",
   "Topic": "310",
   "URI": "https://asc.fasb.org//1943274/2147481962/310-10-50-44",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r325": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "SubTopic": "20",
   "Topic": "310",
   "URI": "https://asc.fasb.org//310-20/tableOfContent",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r326": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "323",
   "URI": "https://asc.fasb.org//1943274/2147481664/323-10-45-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r327": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "323",
   "URI": "https://asc.fasb.org//1943274/2147481687/323-10-50-3",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r328": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(1)",
   "Topic": "323",
   "URI": "https://asc.fasb.org//1943274/2147481687/323-10-50-3",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r329": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(2)",
   "Topic": "323",
   "URI": "https://asc.fasb.org//1943274/2147481687/323-10-50-3",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r33": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.19)",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r330": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(3)",
   "Topic": "323",
   "URI": "https://asc.fasb.org//1943274/2147481687/323-10-50-3",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r331": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "323",
   "URI": "https://asc.fasb.org//1943274/2147481687/323-10-50-3",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r332": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "323",
   "URI": "https://asc.fasb.org//1943274/2147481687/323-10-50-3",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r333": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "323",
   "URI": "https://asc.fasb.org//1943274/2147481687/323-10-50-3",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r334": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "326",
   "URI": "https://asc.fasb.org//1943274/2147479654/326-10-65-4",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r335": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(e)(1)",
   "Topic": "326",
   "URI": "https://asc.fasb.org//1943274/2147479654/326-10-65-4",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r336": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(e)(2)",
   "Topic": "326",
   "URI": "https://asc.fasb.org//1943274/2147479654/326-10-65-4",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r337": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)",
   "Topic": "326",
   "URI": "https://asc.fasb.org//1943274/2147479654/326-10-65-5",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r338": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "330",
   "URI": "https://asc.fasb.org//330/tableOfContent",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r339": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "330",
   "URI": "https://asc.fasb.org//1943274/2147483080/330-10-50-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r34": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.19,20)",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r340": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "330",
   "URI": "https://asc.fasb.org//1943274/2147483080/330-10-50-4",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r341": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "05",
   "SubTopic": "10",
   "Topic": "340",
   "URI": "https://asc.fasb.org//1943274/2147482955/340-10-05-5",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r342": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "340",
   "URI": "https://asc.fasb.org//1943274/2147483032/340-10-45-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r343": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Topic": "350",
   "URI": "https://asc.fasb.org//1943274/2147482598/350-20-45-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r344": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "350",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r345": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "350",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r346": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "350",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r347": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)",
   "Topic": "350",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r348": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)",
   "Topic": "350",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r349": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(e)",
   "Topic": "350",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r35": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.19-26)",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r350": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(f)",
   "Topic": "350",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r351": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(g)",
   "Topic": "350",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r352": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(h)",
   "Topic": "350",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r353": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "SubTopic": "30",
   "Topic": "350",
   "URI": "https://asc.fasb.org//350-30/tableOfContent",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r354": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)",
   "Topic": "350",
   "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r355": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(d)",
   "Topic": "350",
   "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r356": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)(1)",
   "Topic": "350",
   "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r357": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(d)",
   "Topic": "350",
   "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r358": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)",
   "Topic": "360",
   "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-3",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r359": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "420",
   "URI": "https://asc.fasb.org//1943274/2147482017/420-10-50-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r36": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.20)",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r360": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 5.P.4(d))",
   "Topic": "420",
   "URI": "https://asc.fasb.org//1943274/2147479823/420-10-S99-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r361": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "450",
   "URI": "https://asc.fasb.org//1943274/2147483076/450-20-50-4",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r362": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "450",
   "URI": "https://asc.fasb.org//1943274/2147483076/450-20-50-9",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r363": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "20",
   "Subparagraph": "(SAB Topic 5.Y.Q2)",
   "Topic": "450",
   "URI": "https://asc.fasb.org//1943274/2147480102/450-20-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r364": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "20",
   "Subparagraph": "(SAB Topic 5.Y.Q4)",
   "Topic": "450",
   "URI": "https://asc.fasb.org//1943274/2147480102/450-20-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r365": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-01(a)(4)(i))",
   "Topic": "470",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r366": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-01(a)(4)(iii)(A))",
   "Topic": "470",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r367": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-01(a)(4)(iv))",
   "Topic": "470",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r368": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-01(a)(5))",
   "Topic": "470",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r369": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-02(a)(4)(i))",
   "Topic": "470",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r37": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.21)",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r370": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-02(a)(4)(iii)(A))",
   "Topic": "470",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r371": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-02(a)(4)(iii)(B))",
   "Topic": "470",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r372": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-02(a)(4)(iv))",
   "Topic": "470",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r373": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-02(a)(5))",
   "Topic": "470",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r374": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "470",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r375": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "470",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r376": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)",
   "Topic": "470",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r377": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(e)",
   "Topic": "470",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r378": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(f)",
   "Topic": "470",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r379": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(h)",
   "Topic": "470",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r38": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.22(a)(1))",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r380": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1D",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "470",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1D",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r381": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1D",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "470",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1D",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r382": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1D",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)",
   "Topic": "470",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1D",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r383": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1E",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "470",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1E",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r384": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1E",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)",
   "Topic": "470",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1E",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r385": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1E",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)",
   "Topic": "470",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1E",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r386": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1F",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "470",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1F",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r387": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1F",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "470",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1F",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r388": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1F",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(1)",
   "Topic": "470",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1F",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r389": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1F",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(2)",
   "Topic": "470",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1F",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r39": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.22)",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r390": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(3)",
   "Topic": "470",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-4",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r391": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "470",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-6",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r392": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "505",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-13",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r393": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "505",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-13",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r394": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "505",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-13",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r395": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(g)",
   "Topic": "505",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-13",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r396": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(h)",
   "Topic": "505",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-13",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r397": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(i)",
   "Topic": "505",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-13",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r398": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "505",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-14",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r399": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "505",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-14",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r4": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "230",
   "Topic": "830",
   "URI": "https://asc.fasb.org//1943274/2147481877/830-230-45-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r40": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.29-31)",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r400": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "505",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-14",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r401": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "16",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "505",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-16",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r402": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "18",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "505",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-18",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r403": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "18",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "505",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-18",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r404": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "18",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "505",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-18",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r405": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "505",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r406": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.3-04)",
   "Topic": "505",
   "URI": "https://asc.fasb.org//1943274/2147480008/505-10-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r407": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "17",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-17",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r408": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "18",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "606",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-18",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r409": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "18",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "606",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-18",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r41": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.31)",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r410": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "19",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-19",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r411": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "606",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-20",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r412": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "606",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-20",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r413": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "606",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-20",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r414": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "606",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-20",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r415": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "606",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-4",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r416": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-5",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r417": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)(i)",
   "Topic": "715",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r418": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(n)",
   "Topic": "715",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r419": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "80",
   "Subparagraph": "(d)",
   "Topic": "715",
   "URI": "https://asc.fasb.org//1943274/2147480576/715-80-50-5",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r42": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-14",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r420": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "718",
   "URI": "https://asc.fasb.org//718/tableOfContent",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r421": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1D",
   "Publisher": "FASB",
   "Section": "35",
   "SubTopic": "10",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480483/718-10-35-1D",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r422": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "35",
   "SubTopic": "10",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480483/718-10-35-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r423": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "35",
   "SubTopic": "10",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480483/718-10-35-3",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r424": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r425": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(1)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r426": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(2)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r427": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(3)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r428": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(i)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r429": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(ii)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r43": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-14A",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r430": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(iii)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r431": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(iv)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r432": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(iv)(01)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r433": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(iv)(02)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r434": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(iv)(03)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r435": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(iv)(04)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r436": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)(i)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r437": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)(ii)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r438": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)(iii)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r439": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)(iii)(01)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r44": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-5",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r440": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)(iii)(02)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r441": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)(iii)(03)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r442": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)(1)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r443": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)(2)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r444": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)(1)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r445": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)(2)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r446": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)(i)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r447": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)(ii)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r448": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)(iii)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r449": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)(iv)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r45": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "230",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-12",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r450": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)(v)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r451": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(h)(2)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r452": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(h)(2)(i)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r453": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(i)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r454": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(l)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r455": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480336/718-10-65-15",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r456": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(f)(1)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480336/718-10-65-15",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r457": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480336/718-10-65-15",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r458": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "730",
   "URI": "https://asc.fasb.org//1943274/2147482916/730-10-50-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r459": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "https://asc.fasb.org//1943274/2147482525/740-10-45-25",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r46": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "230",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-13",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r460": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "https://asc.fasb.org//1943274/2147482525/740-10-45-28",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r461": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "https://asc.fasb.org//1943274/2147482525/740-10-45-4",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r462": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "https://asc.fasb.org//1943274/2147482525/740-10-45-6",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r463": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-10",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r464": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "17",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "740",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-17",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r465": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "19",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-19",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r466": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-20",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r467": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-9",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r468": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(d)(2)",
   "Topic": "740",
   "URI": "https://asc.fasb.org//1943274/2147482615/740-10-65-8",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r469": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(d)(3)",
   "Topic": "740",
   "URI": "https://asc.fasb.org//1943274/2147482615/740-10-65-8",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r47": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "230",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-14",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r470": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(e)(1)",
   "Topic": "740",
   "URI": "https://asc.fasb.org//1943274/2147482615/740-10-65-8",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r471": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(e)(2)",
   "Topic": "740",
   "URI": "https://asc.fasb.org//1943274/2147482615/740-10-65-8",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r472": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(e)(3)",
   "Topic": "740",
   "URI": "https://asc.fasb.org//1943274/2147482615/740-10-65-8",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r473": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB TOPIC 6.I.7)",
   "Topic": "740",
   "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r474": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "808",
   "URI": "https://asc.fasb.org//1943274/2147479402/808-10-50-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r475": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "19",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "810",
   "URI": "https://asc.fasb.org//1943274/2147481231/810-10-45-19",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r476": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "810",
   "URI": "https://asc.fasb.org//1943274/2147481231/810-10-45-25",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r477": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "810",
   "URI": "https://asc.fasb.org//1943274/2147481231/810-10-45-25",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r478": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(1)",
   "Topic": "810",
   "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-1A",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r479": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)",
   "Topic": "810",
   "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-1A",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r48": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-15",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r480": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(bb)",
   "Topic": "810",
   "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-3",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r481": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "810",
   "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-3",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r482": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "20",
   "Subparagraph": "(e)",
   "Topic": "815",
   "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r483": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "20",
   "Subparagraph": "(h)(1)",
   "Topic": "815",
   "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r484": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "20",
   "Subparagraph": "(h)(1)(i)",
   "Topic": "815",
   "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r485": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "20",
   "Subparagraph": "(h)(1)(iii)",
   "Topic": "815",
   "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r486": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "20",
   "Subparagraph": "(h)(1)(iv)",
   "Topic": "815",
   "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r487": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "20",
   "Subparagraph": "(i)(1)",
   "Topic": "815",
   "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r488": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "20",
   "Subparagraph": "(i)(3)",
   "Topic": "815",
   "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r489": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "40",
   "Subparagraph": "(a)",
   "Topic": "815",
   "URI": "https://asc.fasb.org//1943274/2147480237/815-40-50-6",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r49": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "230",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-15",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r490": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(e)(1)",
   "Topic": "815",
   "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r491": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(e)(3)",
   "Topic": "815",
   "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r492": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(e)(4)",
   "Topic": "815",
   "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r493": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(f)",
   "Topic": "815",
   "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r494": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(c)(1)",
   "Topic": "815",
   "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r495": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(c)(2)",
   "Topic": "815",
   "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r496": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(c)(3)",
   "Topic": "815",
   "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r497": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)",
   "Topic": "825",
   "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-28",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r498": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(e)(1)",
   "Topic": "825",
   "URI": "https://asc.fasb.org//1943274/2147482833/825-10-65-6",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r499": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(e)(2)",
   "Topic": "825",
   "URI": "https://asc.fasb.org//1943274/2147482833/825-10-65-6",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r5": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-10A",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r50": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "230",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-15",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r500": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(e)(3)",
   "Topic": "825",
   "URI": "https://asc.fasb.org//1943274/2147482833/825-10-65-6",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r501": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "830",
   "URI": "https://asc.fasb.org//830/tableOfContent",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r502": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "17",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "830",
   "URI": "https://asc.fasb.org//1943274/2147481839/830-10-45-17",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r503": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "35",
   "SubTopic": "20",
   "Topic": "830",
   "URI": "https://asc.fasb.org//1943274/2147482014/830-20-35-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r504": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Topic": "830",
   "URI": "https://asc.fasb.org//1943274/2147481956/830-20-45-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r505": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "830",
   "URI": "https://asc.fasb.org//1943274/2147481926/830-20-50-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r506": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "17",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "830",
   "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-17",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r507": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Subparagraph": "(a)",
   "Topic": "830",
   "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-20",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r508": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Subparagraph": "(b)",
   "Topic": "830",
   "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-20",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r509": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Subparagraph": "(c)",
   "Topic": "830",
   "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-20",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r51": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-4",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r510": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Subparagraph": "(d)",
   "Topic": "830",
   "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-20",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r511": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Topic": "830",
   "URI": "https://asc.fasb.org//1943274/2147481674/830-30-50-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r512": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "835",
   "URI": "https://asc.fasb.org//1943274/2147483013/835-20-50-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r513": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Topic": "835",
   "URI": "https://asc.fasb.org//1943274/2147482900/835-30-50-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r514": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(f)(1)",
   "Topic": "842",
   "URI": "https://asc.fasb.org//1943274/2147479832/842-10-65-5",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r515": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(f)(3)",
   "Topic": "842",
   "URI": "https://asc.fasb.org//1943274/2147479832/842-10-65-5",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r516": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "SubTopic": "20",
   "Topic": "842",
   "URI": "https://asc.fasb.org//842-20/tableOfContent",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r517": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "842",
   "URI": "https://asc.fasb.org//1943274/2147479041/842-20-45-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r518": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "842",
   "URI": "https://asc.fasb.org//1943274/2147479041/842-20-45-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r519": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "842",
   "URI": "https://asc.fasb.org//1943274/2147479041/842-20-45-4",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r52": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-8",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r520": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Subparagraph": "(c)",
   "Topic": "842",
   "URI": "https://asc.fasb.org//1943274/2147479041/842-20-45-5",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r521": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "842",
   "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r522": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(g)(1)",
   "Topic": "842",
   "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r523": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "842",
   "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-6",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r524": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(a)(3)(iii)(03)",
   "Topic": "848",
   "URI": "https://asc.fasb.org//1943274/2147483550/848-10-65-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r525": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "848",
   "URI": "https://asc.fasb.org//1943274/2147483550/848-10-65-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r526": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "850",
   "URI": "https://asc.fasb.org//1943274/2147483326/850-10-50-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r527": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "850",
   "URI": "https://asc.fasb.org//1943274/2147483326/850-10-50-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r528": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "850",
   "URI": "https://asc.fasb.org//1943274/2147483326/850-10-50-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r529": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "850",
   "URI": "https://asc.fasb.org//1943274/2147483326/850-10-50-3",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r53": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r530": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "855",
   "URI": "https://asc.fasb.org//855/tableOfContent",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r531": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "855",
   "URI": "https://asc.fasb.org//1943274/2147483399/855-10-50-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r532": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)(1)",
   "Topic": "860",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r533": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "910",
   "URI": "https://asc.fasb.org//1943274/2147482546/910-10-50-6",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r534": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "310",
   "Subparagraph": "(b)",
   "Topic": "912",
   "URI": "https://asc.fasb.org//1943274/2147482312/912-310-45-11",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r535": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "330",
   "Topic": "912",
   "URI": "https://asc.fasb.org//1943274/2147482105/912-330-50-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r536": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 11.L)",
   "Topic": "924",
   "URI": "https://asc.fasb.org//1943274/2147479941/924-10-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r537": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "926",
   "URI": "https://asc.fasb.org//1943274/2147483154/926-20-50-5",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r538": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "20",
   "Subparagraph": "(f)(1)",
   "Topic": "926",
   "URI": "https://asc.fasb.org//1943274/2147483194/926-20-65-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r539": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "20",
   "Subparagraph": "(f)(2)",
   "Topic": "926",
   "URI": "https://asc.fasb.org//1943274/2147483194/926-20-65-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r54": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-2",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r540": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "20",
   "Subparagraph": "(f)(3)",
   "Topic": "926",
   "URI": "https://asc.fasb.org//1943274/2147483194/926-20-65-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r541": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "340",
   "Topic": "928",
   "URI": "https://asc.fasb.org//1943274/2147483147/928-340-50-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r542": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "235",
   "Subparagraph": "(a)",
   "Topic": "932",
   "URI": "https://asc.fasb.org//1943274/2147482274/932-235-50-15",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r543": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "235",
   "Subparagraph": "(b)",
   "Topic": "932",
   "URI": "https://asc.fasb.org//1943274/2147482274/932-235-50-15",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r544": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "235",
   "Subparagraph": "(a)",
   "Topic": "932",
   "URI": "https://asc.fasb.org//1943274/2147482274/932-235-50-20",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r545": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "235",
   "Subparagraph": "(b)",
   "Topic": "932",
   "URI": "https://asc.fasb.org//1943274/2147482274/932-235-50-20",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r546": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "235",
   "Subparagraph": "(a)",
   "Topic": "932",
   "URI": "https://asc.fasb.org//1943274/2147482274/932-235-50-28",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r547": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "235",
   "Subparagraph": "(b)",
   "Topic": "932",
   "URI": "https://asc.fasb.org//1943274/2147482274/932-235-50-28",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r548": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "33",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "235",
   "Subparagraph": "(a)",
   "Topic": "932",
   "URI": "https://asc.fasb.org//1943274/2147482274/932-235-50-33",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r549": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "33",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "235",
   "Subparagraph": "(b)",
   "Topic": "932",
   "URI": "https://asc.fasb.org//1943274/2147482274/932-235-50-33",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r55": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-3",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r550": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "35A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "235",
   "Subparagraph": "(a)",
   "Topic": "932",
   "URI": "https://asc.fasb.org//1943274/2147482274/932-235-50-35A",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r551": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "35A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "235",
   "Subparagraph": "(b)",
   "Topic": "932",
   "URI": "https://asc.fasb.org//1943274/2147482274/932-235-50-35A",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r552": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "235",
   "Subparagraph": "(c)(1)",
   "Topic": "932",
   "URI": "https://asc.fasb.org//1943274/2147482274/932-235-50-8",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r553": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "235",
   "Subparagraph": "(c)(2)",
   "Topic": "932",
   "URI": "https://asc.fasb.org//1943274/2147482274/932-235-50-8",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r554": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(10)(1))",
   "Topic": "942",
   "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r555": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04(24))",
   "Topic": "942",
   "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r556": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04(25))",
   "Topic": "942",
   "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r557": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04(26))",
   "Topic": "942",
   "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r558": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04(27))",
   "Topic": "942",
   "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r559": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "235",
   "Subparagraph": "(SX 210.9-05(b)(2))",
   "Topic": "942",
   "URI": "https://asc.fasb.org//1943274/2147479557/942-235-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r56": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "260",
   "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r560": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "360",
   "Topic": "942",
   "URI": "https://asc.fasb.org//1943274/2147480842/942-360-50-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r561": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(1)(h))",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r562": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(12))",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r563": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(15)(b)(2))",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r564": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(2))",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r565": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(22))",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r566": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(23)(a)(3))",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r567": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(23)(a)(4))",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r568": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(24))",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r569": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(25))",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r57": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-2",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r570": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(8)(a))",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r571": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(8)(b))",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r572": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(8))",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r573": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04(11))",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r574": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04(16))",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r575": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04(17))",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r576": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04(18))",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r577": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04(20))",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r578": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04(21))",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r579": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04(22))",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r58": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "18",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "275",
   "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-18",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r580": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04(23))",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r581": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04(3)(a))",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r582": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04(9))",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r583": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "235",
   "Subparagraph": "(SX 210.12-16(Column A))",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r584": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "235",
   "Subparagraph": "(SX 210.12-16(Column B))",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r585": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "235",
   "Subparagraph": "(SX 210.12-16(Column C))",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r586": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "235",
   "Subparagraph": "(SX 210.12-16(Column D))",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r587": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "235",
   "Subparagraph": "(SX 210.12-16(Column E))",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r588": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "235",
   "Subparagraph": "(SX 210.12-16(Column F))",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r589": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "235",
   "Subparagraph": "(SX 210.12-16(Column G))",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r59": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "275",
   "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-20",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r590": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "235",
   "Subparagraph": "(SX 210.12-16(Column H))",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r591": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "235",
   "Subparagraph": "(SX 210.12-16(Column I))",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r592": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "235",
   "Subparagraph": "(SX 210.12-16(Column J))",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r593": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "235",
   "Subparagraph": "(SX 210.12-16(Column K))",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r594": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "235",
   "Subparagraph": "(SX 210.12-17(Column A))",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r595": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "235",
   "Subparagraph": "(SX 210.12-17(Column B))",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r596": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "235",
   "Subparagraph": "(SX 210.12-17(Column C))",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r597": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "235",
   "Subparagraph": "(SX 210.12-17(Column D))",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r598": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "235",
   "Subparagraph": "(SX 210.12-17(Column E))",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r599": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "235",
   "Subparagraph": "(SX 210.12-17(Column F))",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r6": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "220",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-10A",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r60": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "275",
   "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-4",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r600": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "40",
   "Subparagraph": "(d)",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147480081/944-40-50-7A",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r601": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(e)",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r602": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(f)(1)",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r603": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(f)(2)",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r604": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(g)(2)(i)",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r605": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(g)(2)(ii)",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r606": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(g)(2)(iii)",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r607": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(g)(2)(iv)",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r608": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(h)(2)",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r609": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "825",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147479383/944-825-50-1B",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r61": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "275",
   "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-8",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r610": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.6-03(d))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147479886/946-10-S99-3",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r611": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.6-03(h)(1))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147479886/946-10-S99-3",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r612": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.6-03(i)(1))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147479886/946-10-S99-3",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r613": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.6-03(i)(2)(i))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147479886/946-10-S99-3",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r614": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.6-03(i)(2)(ii))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147479886/946-10-S99-3",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r615": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.6-03(i)(2))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147479886/946-10-S99-3",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r616": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147480990/946-20-50-11",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r617": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "205",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147480767/946-205-45-3",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r618": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "205",
   "Subparagraph": "(a)",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147480767/946-205-45-3",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r619": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "205",
   "Subparagraph": "(a)",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147480767/946-205-45-4",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r62": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "275",
   "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-9",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r620": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "205",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147480737/946-205-50-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r621": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "27",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "205",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147480737/946-205-50-27",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r622": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "205",
   "Subparagraph": "(a)",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147480737/946-205-50-7",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r623": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "205",
   "Subparagraph": "(b)",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147480737/946-205-50-7",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r624": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "205",
   "Subparagraph": "(c)",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147480737/946-205-50-7",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r625": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "205",
   "Subparagraph": "(d)",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147480737/946-205-50-7",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r626": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "205",
   "Subparagraph": "(e)",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147480737/946-205-50-7",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r627": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "205",
   "Subparagraph": "(f)",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147480737/946-205-50-7",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r628": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "205",
   "Subparagraph": "(g)",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147480737/946-205-50-7",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r629": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "205",
   "Subparagraph": "(h)",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147480737/946-205-50-7",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r63": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "30",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "280",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r630": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "21",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "210",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147480555/946-210-45-21",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r631": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "210",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147480555/946-210-45-4",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r632": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "210",
   "Subparagraph": "(b)(2)",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r633": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "210",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r634": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "210",
   "Subparagraph": "(a)(2)",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-6",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r635": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "210",
   "Subparagraph": "(e)",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-6",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r636": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "210",
   "Subparagraph": "(f)",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-6",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r637": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.6-04(1))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r638": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.6-04(12)(b)(1))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r639": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.6-04(12)(b)(2))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r64": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "31",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-31",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r640": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.6-04(12)(b)(3))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r641": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.6-04(13)(a)(2))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r642": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.6-04(13)(a)(3))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r643": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.6-04(14))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r644": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.6-04(16)(a))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r645": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.6-04(17))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r646": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.6-04(19))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r647": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.6-04(2)(a))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r648": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.6-04(2)(b))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r649": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.6-04(3)(a))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r65": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "40",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-40",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r650": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.6-04(3)(b))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r651": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.6-04(3)(c))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r652": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.6-04(4))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r653": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.6-04(5)(b))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r654": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.6-04(6)(b))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r655": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.6-04(6)(c))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r656": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.6-04(6)(d))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r657": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.6-04(6)(e))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r658": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.6-04(8))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r659": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.6-04(9)(b))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r66": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "41",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-41",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r660": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.6-04(9)(c))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r661": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.6-04(9)(d))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r662": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.6-04(9)(e))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r663": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.6-05(2))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r664": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.6-05(4))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r665": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "220",
   "Subparagraph": "(b)",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147483581/946-220-45-3",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r666": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "220",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147483581/946-220-45-7",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r667": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "220",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147483580/946-220-50-3",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r668": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.6-07(1))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r669": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.6-07(2)(a))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r67": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "41",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "280",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-41",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r670": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.6-07(3))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r671": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.6-07(7)(a)(1))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r672": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.6-07(7)(a)(2))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r673": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.6-07(7)(a)(3))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r674": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.6-07(7)(a)(5))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r675": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.6-07(7)(a)(6))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r676": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.6-07(7)(a)(7))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r677": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.6-07(7)(c)(1))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r678": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.6-07(7)(c)(2))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r679": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.6-07(7)(c)(3))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r68": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "41",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "280",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-41",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r680": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.6-07(7)(c)(5))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r681": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.6-07(7)(c)(6))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r682": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.6-07(7)(c)(7))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r683": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.6-07(7))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r684": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.6-07(9))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r685": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.6-09(1)(d))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r686": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.6-09(4)(b))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r687": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.6-09(6))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r688": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.6-09(7))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r689": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "235",
   "Subparagraph": "(a)",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147481062/946-235-50-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r69": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "350",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r690": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "235",
   "Subparagraph": "(d)",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147481062/946-235-50-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r691": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "310",
   "Subparagraph": "(d)",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147480833/946-310-45-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r692": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "320",
   "Subparagraph": "(SX 210.12-12(Column A)(Footnote 2))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r693": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "320",
   "Subparagraph": "(SX 210.12-12(Column C)(Footnote 5))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r694": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "320",
   "Subparagraph": "(SX 210.12-12A(Column A)(Footnote 2))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r695": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "320",
   "Subparagraph": "(SX 210.12-12A(Column C)(Footnote 4))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r696": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "320",
   "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 4)(a))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-3",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r697": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "320",
   "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 4)(b))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-3",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r698": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "320",
   "Subparagraph": "(SX 210.12-12B(Column C)(Footnote 2))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-3",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r699": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "320",
   "Subparagraph": "(SX 210.12-14(Column A)(Footnote 2))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-6",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r7": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "230",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-14",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r70": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "350",
   "URI": "https://asc.fasb.org//1943274/2147482686/350-30-45-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r700": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "320",
   "Subparagraph": "(SX 210.12-14(Column F)(Footnote 7))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-6",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r701": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "505",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147481004/946-505-50-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r702": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "505",
   "Subparagraph": "(a)",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147481004/946-505-50-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r703": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "505",
   "Subparagraph": "(b)",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147481004/946-505-50-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r704": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "505",
   "Subparagraph": "(c)",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147481004/946-505-50-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r705": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "505",
   "Subparagraph": "(d)",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147481004/946-505-50-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r706": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "505",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147481004/946-505-50-3",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r707": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "505",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147481004/946-505-50-6",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r708": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "310",
   "Subparagraph": "(SX 210.12-29(Footnote 4))",
   "Topic": "948",
   "URI": "https://asc.fasb.org//1943274/2147479851/948-310-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r709": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "310",
   "Topic": "954",
   "URI": "https://asc.fasb.org//1943274/2147481058/954-310-45-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r71": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "350",
   "URI": "https://asc.fasb.org//1943274/2147482686/350-30-45-2",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r710": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "310",
   "Topic": "954",
   "URI": "https://asc.fasb.org//1943274/2147481027/954-310-50-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r711": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "450",
   "Topic": "954",
   "URI": "https://asc.fasb.org//1943274/2147480598/954-450-50-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r712": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Column B))",
   "Topic": "970",
   "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r713": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Column C))",
   "Topic": "970",
   "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r714": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Column D))",
   "Topic": "970",
   "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r715": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Column E))",
   "Topic": "970",
   "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r716": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Column F))",
   "Topic": "970",
   "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r717": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Column G))",
   "Topic": "970",
   "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r718": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Column H))",
   "Topic": "970",
   "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r719": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Column I))",
   "Topic": "970",
   "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r72": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)",
   "Topic": "350",
   "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r720": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Footnote 2))",
   "Topic": "970",
   "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r721": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "310",
   "Subparagraph": "(c)",
   "Topic": "976",
   "URI": "https://asc.fasb.org//1943274/2147482856/976-310-50-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r722": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "310",
   "Subparagraph": "(b)",
   "Topic": "978",
   "URI": "https://asc.fasb.org//1943274/2147482707/978-310-50-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r723": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "235",
   "URI": "https://asc.fasb.org//1943274/2147483426/235-10-50-4",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r724": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13H",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "40",
   "Subparagraph": "(a)",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147480046/944-40-55-13H",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r725": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13H",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "40",
   "Subparagraph": "(b)",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147480046/944-40-55-13H",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r726": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-1",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r727": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-1",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r728": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(g)",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-1",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r729": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "235",
   "URI": "https://asc.fasb.org//1943274/2147483426/235-10-50-4",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r73": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "((a)(1),(b))",
   "Topic": "350",
   "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r730": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "52",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "https://asc.fasb.org//1943274/2147482635/260-10-55-52",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r731": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "30",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "280",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r732": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "31",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-31",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r733": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12A",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Topic": "310",
   "URI": "https://asc.fasb.org//1943274/2147481933/310-10-55-12A",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r734": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "24",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "350",
   "URI": "https://asc.fasb.org//1943274/2147482548/350-20-55-24",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r735": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)",
   "Topic": "470",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r736": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "69B",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "470",
   "URI": "https://asc.fasb.org//1943274/2147481568/470-20-55-69B",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r737": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "69C",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "470",
   "URI": "https://asc.fasb.org//1943274/2147481568/470-20-55-69C",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r738": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "69E",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "470",
   "URI": "https://asc.fasb.org//1943274/2147481568/470-20-55-69E",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r739": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "69F",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "470",
   "URI": "https://asc.fasb.org//1943274/2147481568/470-20-55-69F",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r74": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)",
   "Topic": "350",
   "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r740": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "505",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-13",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r741": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "91",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "606",
   "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r742": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "91",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "606",
   "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r743": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "91",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "606",
   "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r744": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "80",
   "Topic": "715",
   "URI": "https://asc.fasb.org//1943274/2147480547/715-80-55-8",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r745": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(1)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r746": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(2)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r747": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4J",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Topic": "810",
   "URI": "https://asc.fasb.org//1943274/2147481175/810-10-55-4J",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r748": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4K",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Topic": "810",
   "URI": "https://asc.fasb.org//1943274/2147481175/810-10-55-4K",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r749": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)(3)",
   "Topic": "842",
   "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-3",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r75": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)(2)",
   "Topic": "350",
   "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r750": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "53",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "842",
   "URI": "https://asc.fasb.org//1943274/2147479589/842-20-55-53",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r751": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Topic": "852",
   "URI": "https://asc.fasb.org//1943274/2147481372/852-10-55-10",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r752": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "30",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147479401/944-30-55-2",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r753": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "29F",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "40",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147480046/944-40-55-29F",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r754": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "210",
   "Subparagraph": "(b)(1)",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-1",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r755": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "210",
   "Subparagraph": "(a)(1)",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-6",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r756": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "210",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147480493/946-210-55-1",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r757": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "310",
   "Subparagraph": "(d)",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147480833/946-310-45-1",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r758": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "320",
   "Subparagraph": "(SX 210.12-12(Column A)(Footnote 2)(i))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-1",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r759": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "320",
   "Subparagraph": "(SX 210.12-12A(Column A)(Footnote 2))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-2",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r76": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "360",
   "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r760": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "320",
   "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 1)(a))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-3",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r761": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "320",
   "Subparagraph": "(SX 210.12-14(Column A)(Footnote 2))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-6",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r762": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "830",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147480167/946-830-55-10",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r763": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "830",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147480167/946-830-55-11",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r764": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "830",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147480167/946-830-55-12",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r765": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "12",
   "role": "http://www.xbrl.org/2003/role/presentationRef"
  },
  "r766": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "b",
   "role": "http://www.xbrl.org/2003/role/presentationRef"
  },
  "r767": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "b-2",
   "role": "http://www.xbrl.org/2003/role/presentationRef"
  },
  "r768": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "b-23",
   "role": "http://www.xbrl.org/2003/role/presentationRef"
  },
  "r769": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "d1-1",
   "role": "http://www.xbrl.org/2003/role/presentationRef"
  },
  "r77": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "360",
   "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r770": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "g",
   "role": "http://www.xbrl.org/2003/role/presentationRef"
  },
  "r771": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "12, 13, 15d",
   "role": "http://www.xbrl.org/2003/role/presentationRef"
  },
  "r772": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "13e",
   "Subsection": "4c",
   "role": "http://www.xbrl.org/2003/role/presentationRef"
  },
  "r773": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "14d",
   "Subsection": "2b",
   "role": "http://www.xbrl.org/2003/role/presentationRef"
  },
  "r774": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "15",
   "Subsection": "d",
   "role": "http://www.xbrl.org/2003/role/presentationRef"
  },
  "r775": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "14a",
   "Subsection": "12",
   "role": "http://www.xbrl.org/2003/role/presentationRef"
  },
  "r776": {
   "Name": "Form 10-K",
   "Number": "249",
   "Publisher": "SEC",
   "Section": "310",
   "role": "http://www.xbrl.org/2003/role/presentationRef"
  },
  "r777": {
   "Name": "Form 10-Q",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "308",
   "Subsection": "a",
   "role": "http://www.xbrl.org/2003/role/presentationRef"
  },
  "r778": {
   "Name": "Form 20-F",
   "Number": "249",
   "Publisher": "SEC",
   "Section": "220",
   "Subsection": "f",
   "role": "http://www.xbrl.org/2003/role/presentationRef"
  },
  "r779": {
   "Name": "Form 40-F",
   "Number": "249",
   "Publisher": "SEC",
   "Section": "240",
   "Subsection": "f",
   "role": "http://www.xbrl.org/2003/role/presentationRef"
  },
  "r78": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "460",
   "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-8",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r780": {
   "Name": "Forms 10-K, 10-Q, 20-F",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "13",
   "Subsection": "a-1",
   "role": "http://www.xbrl.org/2003/role/presentationRef"
  },
  "r781": {
   "Name": "Regulation S-T",
   "Number": "232",
   "Publisher": "SEC",
   "Section": "405",
   "role": "http://www.xbrl.org/2003/role/presentationRef"
  },
  "r782": {
   "Name": "Securities Act",
   "Number": "230",
   "Publisher": "SEC",
   "Section": "405",
   "role": "http://www.xbrl.org/2003/role/presentationRef"
  },
  "r783": {
   "Name": "Securities Act",
   "Number": "230",
   "Publisher": "SEC",
   "Section": "425",
   "role": "http://www.xbrl.org/2003/role/presentationRef"
  },
  "r784": {
   "Name": "Securities Act",
   "Number": "7A",
   "Publisher": "SEC",
   "Section": "B",
   "Subsection": "2",
   "role": "http://www.xbrl.org/2003/role/presentationRef"
  },
  "r785": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "230",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28",
   "role": "http://www.xbrl.org/2003/role/recommendedDisclosureRef"
  },
  "r786": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "272",
   "URI": "https://asc.fasb.org//1943274/2147483014/272-10-45-3",
   "role": "http://www.xbrl.org/2003/role/recommendedDisclosureRef"
  },
  "r787": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "740",
   "Subparagraph": "(f)",
   "Topic": "323",
   "URI": "https://asc.fasb.org//1943274/2147481543/323-740-50-2",
   "role": "http://www.xbrl.org/2003/role/recommendedDisclosureRef"
  },
  "r788": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "18",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "275",
   "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-18",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r789": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "825",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147479383/944-825-50-1B",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r79": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "505",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-3",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r790": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4H",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "40",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147480081/944-40-50-4H",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r791": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(1))",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r792": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(10))",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r793": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(17))",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r794": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(20))",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r795": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(6)(a)(1))",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r796": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(6))",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r797": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(8))",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r798": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-4",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r799": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-5",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r8": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "405",
   "Topic": "942",
   "URI": "https://asc.fasb.org//1943274/2147481071/942-405-45-2",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r80": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "505",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-8",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r800": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-6",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r801": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(4))",
   "Topic": "220",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r802": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(7)(c))",
   "Topic": "220",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r803": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(9)(a))",
   "Topic": "220",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r804": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(b)(7)(c))",
   "Topic": "220",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r805": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(b)(9)(a))",
   "Topic": "220",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r806": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "230",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r807": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "230",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r808": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(d))",
   "Topic": "235",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r809": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(f))",
   "Topic": "235",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r81": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Topic": "505",
   "URI": "https://asc.fasb.org//1943274/2147480008/505-10-S99-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r810": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(g)(1)(ii))",
   "Topic": "235",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r811": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.12-04(a))",
   "Topic": "235",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-3",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r812": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "23",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "250",
   "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-23",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r813": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "24",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-24",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r814": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "250",
   "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-5",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r815": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "55",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "260",
   "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-55",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r816": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "18",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-18",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r817": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "310",
   "URI": "https://asc.fasb.org//1943274/2147481990/310-10-45-13",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r818": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "310",
   "URI": "https://asc.fasb.org//1943274/2147481962/310-10-50-4",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r819": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(3)",
   "Topic": "323",
   "URI": "https://asc.fasb.org//1943274/2147481687/323-10-50-3",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r82": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "25",
   "SubTopic": "10",
   "Topic": "710",
   "URI": "https://asc.fasb.org//1943274/2147483070/710-10-25-11",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r820": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "323",
   "URI": "https://asc.fasb.org//1943274/2147481687/323-10-50-3",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r821": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "326",
   "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-13",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r822": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "350",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r823": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(h)",
   "Topic": "350",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r824": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(c)",
   "Topic": "410",
   "URI": "https://asc.fasb.org//1943274/2147481931/410-30-50-10",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r825": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "450",
   "URI": "https://asc.fasb.org//1943274/2147483076/450-20-50-9",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r826": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "20",
   "Subparagraph": "(SAB Topic 5.Y.Q2)",
   "Topic": "450",
   "URI": "https://asc.fasb.org//1943274/2147480102/450-20-S99-1",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r827": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-01(a)(4)(ii))",
   "Topic": "470",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r828": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-01(a)(4)(iii))",
   "Topic": "470",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r829": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)",
   "Topic": "470",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r83": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "715",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-2",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r830": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-5",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r831": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "91",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "606",
   "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r832": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(1)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r833": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(iv)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r834": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(e)(3)",
   "Topic": "815",
   "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r835": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(bbb)(2)",
   "Topic": "820",
   "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r836": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)",
   "Topic": "825",
   "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-28",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r837": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "230",
   "Topic": "830",
   "URI": "https://asc.fasb.org//1943274/2147481877/830-230-45-1",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r838": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "842",
   "URI": "https://asc.fasb.org//1943274/2147479041/842-20-45-4",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r839": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "842",
   "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-6",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r84": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "715",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-3",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r840": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "850",
   "URI": "https://asc.fasb.org//1943274/2147483326/850-10-50-2",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r841": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "850",
   "URI": "https://asc.fasb.org//1943274/2147483326/850-10-50-3",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r842": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "852",
   "URI": "https://asc.fasb.org//1943274/2147481404/852-10-50-7",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r843": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "852",
   "URI": "https://asc.fasb.org//1943274/2147481404/852-10-50-7",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r844": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)(1)",
   "Topic": "860",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r845": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)(2)",
   "Topic": "860",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r846": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)(3)",
   "Topic": "860",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r847": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(1)",
   "Topic": "860",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-4",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r848": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(2)",
   "Topic": "860",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-4",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r849": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(3)",
   "Topic": "860",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-4",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r85": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "715",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-4",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r850": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "25",
   "SubTopic": "730",
   "Topic": "912",
   "URI": "https://asc.fasb.org//1943274/2147482517/912-730-25-1",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r851": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04(14)(d))",
   "Topic": "942",
   "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r852": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(15)(a))",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r853": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(16)(a)(1))",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r854": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(16)(a)(2))",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r855": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(2))",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r856": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(5))",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r857": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147479432/944-30-50-2B",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r858": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13H",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "40",
   "Subparagraph": "(c)",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147480046/944-40-55-13H",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r859": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "205",
   "Subparagraph": "(a)",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147480767/946-205-45-4",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r86": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "17",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "715",
   "URI": "https://asc.fasb.org//1943274/2147480482/715-20-55-17",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r860": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.6-04(18))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r861": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "220",
   "Subparagraph": "(i)",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147483581/946-220-45-3",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r862": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "220",
   "Subparagraph": "(k)",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147483581/946-220-45-3",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r863": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.6-07(2)(b))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r864": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.6-07(7)(a)(8))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r865": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.6-09(4)(b))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r866": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.6-09(7))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r87": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b),(f(1))",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r88": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r89": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147481089/718-20-55-12",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r9": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "810",
   "URI": "https://asc.fasb.org//1943274/2147481231/810-10-45-20",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r90": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147481089/718-20-55-13",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r91": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "805",
   "URI": "https://asc.fasb.org//1943274/2147479328/805-10-50-2",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r92": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "805",
   "URI": "https://asc.fasb.org//1943274/2147479328/805-10-50-3",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r93": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)",
   "Topic": "805",
   "URI": "https://asc.fasb.org//1943274/2147479907/805-20-50-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r94": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(e)(1)",
   "Topic": "805",
   "URI": "https://asc.fasb.org//1943274/2147479907/805-20-50-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r95": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Subparagraph": "(c)",
   "Topic": "805",
   "URI": "https://asc.fasb.org//1943274/2147479876/805-20-55-20",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r96": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "810",
   "URI": "https://asc.fasb.org//1943274/2147481231/810-10-45-15",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r97": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "16",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "810",
   "URI": "https://asc.fasb.org//1943274/2147481231/810-10-45-16",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r98": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "21",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "810",
   "URI": "https://asc.fasb.org//1943274/2147481231/810-10-45-21",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r99": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4I",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Topic": "810",
   "URI": "https://asc.fasb.org//1943274/2147481175/810-10-55-4I",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  }
 },
 "version": "2.2"
}
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>ZIP
<SEQUENCE>90
<FILENAME>0001493152-23-028381-xbrl.zip
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 0001493152-23-028381-xbrl.zip
M4$L#!!0    ( !F #E><R@()& <  *0>   *    97@S,2TQ+FAT;>59WV_;
M-A!^-^#_@3.P(0%D.VZ:/22N@?QP5@-9DB7&@#[2$F5SH425E.QX?_V^(R7;
ML9TT79<,:?O06-+Q>/?=W7='J?MQ^/M%KU[K?NP?G^$OHW_=X6!XT>]UV_XO
MGK;+Q]V3J[-/[';XZ:+_H1'K-#]DG;TL9T.9",LNQ8S=Z(2G@;\1L%MA9-S
M0BR]KM8EW(QE>LCV&KU?TI'-CKKMZS61YZH^8@ME1RP7]WF3*SG&I9'C2=[H
M=4]Z_?N)',F<[7=:G6[[I/=RF[V8,Z%(<V&<-Z?]F^'@?'!Z/!Q<7=Z^D#]_
M%3:7\?P%/5KL, C8&4^E4.SJ%V,_%_KHQ$@!-:$P),'R"<\/W[:/G18;L F?
M"F;$5(J9B."5M.QSP0WBJN:XGVF3,YVR<VT2;-K\HU[3,3M7XEZ.E&"W6A6Y
MU*EE TJ%E-,%5P$NP]:+&O_R\+QKL1-N 0K<3^;L+M4S):*Q"#Q*)3:1QAZI
MSEF(C;E,ZS6>SEF1YJ80S.8\%PFJA $TCAV!D>2*Q3S$+<-T @+(M9?;$$A%
M**SE9DXB";\3V'A%I\6]"-;(E"DJ=-J#!$)IPB*!6(KE]5J11L*PV42&$V8+
M^F^I8":,*+60"XFT2O!(IF,VD_D$+MI,A,Y"4IS!-AW!T2F616PT7P7BC0=[
M_XE@"Q;+%&A28);@!11IR..Y61&0:8Q2<76 WZ$J(BA%B%:@"A!>2>65 6!*
M#CSF2BVC7^)NU_9&AD62% <D42@((.0:87';66]0R.V$Q4K/;)401HRES0W'
M3IQN!HSD8&:P$E9;6;-A[AN/[/L6&SX H>1S6X:N)'1*>AW'$I<[=M=#.6#<
M"!<-H.OX#J Q@1P8*6DGM(3$$I0]E3Y=1]*&2ML"ZX@0C%;6R61&AR+";<MV
M$(1((*P>Z?Y]..'I6+!C5-I-H2#1V>?-S@&MJ]<Z!Q%^[XC=7:='>II5E79&
MQ;B2(SYD9,ESM]F)O>9RHQ@;D9</$\?C0;WB3?>\\J8$)9+"O=:!3!L]O@N@
M+.2 E&/(+4'T "RC&!!]A[RP3ZQ9#SQH="266WEBUH6! M3@5%I7VI 2J=-#
M(\:2%%:(I5XS0G$7Y9*:EY$*2M:AAQ(, 6.L5C+BN;-T9&4D.489>"!]!W%D
MEY*FPA*IN[*PK@,X(M!6P*(<S$.+,LP&,BP4!X'5:W#,6;'L#ECB>\UJD\2O
MD2!!< P4B.C58_S_9-9H/;/6RQ?3U"/UNTRP[2L?+_QGIQE2<RHC2AYN,;6!
MWY#E%JE'DP.E%#=1%5TDG.0CJ60^I[:R;5_*=I<(+L:^ SX071D\'(_>EQYE
MA<F09-;UP3#4)B(#ZC4W@XQ%BOZFT"WQ2&24Q22# <OG$[)=9F"S'R2CPETF
MIEP5KIP);1''&!7D%#!9ZX;S?'NW>P9!^<OM4X#+("P$MU@W\/.1+O)-$\JA
M ]3PQ?T"/XYX'31*Q5\>,]FHFM)<5918P* C4OYCY$"T6P5S,THX?-1K9:=W
MC[;FPE>0"?4@'8:%H5BLT/T6K8FV.>[36P'HLB$'O95G2;;SR)H8:84J]^+5
MR;.R'*.L<"<G\$*:%@O#=KU9$VX7[9'XP:6AB!QS.D1*6@,B2MX)59ZCUA8$
MWPS2"Z?>:PS)!]\R)+M7"(N,#)8E2I2QFA3+:JUJ_=D8!YN33F4BS,"XDVMC
M%RW(W8#.!.?K7(C-@]#"O9%&DZ/GD8213LD.T@<<9(GD\)>FKBKIQ>="P@>7
MX$4:NE/7[O<Y$=.!E"8(B6C3R9&.$J$4"(LHA^'%9#H3_(ZHWW=PPLD/'^X-
M1W4Z)8R?3SM^A/2GKZJ*V;*(>82%5E!E^R)^++S5R((U""\FB\#W'PM\;)$
M&_FW<&E3\N?6@_P/U%M&=!B<L]B@A *$0;CR1R#=^Z$RXD&]Y@A8IE.MIH)8
M..7C\D67*2E#))G2<X&GLXGV'+&:3PC_?]*A6J]8?</CDXL^.^U?7-Q>'Y\.
M+G_[T-AKN.OKX[.SZOJKK9C)*)^0Z-[/1R D@WF]&6JE>&;%(:M^-=Q7D.[P
MIMI@2IR,KEE9G>NL47XIZ0[/*JE2^0'IWNIC]_SJ<KAJ=#/FB53SPR^9[60M
MZL=[V>@=%V,H99WW 7NW]VZ_VR;-]+7F;-.LTLV1SG.='+*1XN$=Z[0.@)8[
MKBY0>0W#NX->V[:K%_XGK8?O_+OM06_5%_QW\^]B\62.;4/IA?W>]H7C^_3T
MVI\301S]>Q$6=%AA5WZ0V>YPV]5Z[U5HY:=FDYTC$-$ANP:-'D'-YP*=EJP_
M8E>9&S,.V05'<36;%79G@S\??KA<%-.O6;[@D>K>R7J! =TEG:W2USJ]/2S8
M35Y:XZ_-XGHR=QXBI$3L5JRS%ZE^D#\N4%60NFU@4<&R F:;T"3$OBF&C>67
MS#9]9?:?G>GK]#]02P,$%     @ &8 .5Q D3%T3!P  S1X   H   !E>#,Q
M+3(N:'1MY5G;;N,V$'TWX']@#;1( -G.9=.'Q&L@UZZ!-$D3H\ ^TA)ELZ%$
M+2G9<;^^9TC)=FPGFVWJ%-G=AXTE#8<S9V;.#*7.I_[OE]UZK?/I_/@,?QG]
MZ_1[_<OS;J?M_^)INWS<.;D^^\SN^I\OSS\V8IWFAVQW)\M97R;"LBLQ8;<Z
MX6G@;P3L3A@9-[ 02V^^==T12[@9RO20[32ZOZ0#FQUUVC>O5W;$<O&0-[F2
M0UP:.1SEC6[GI'O^,)(#F;/]W=9>IWW2W=QF&W,F%&DNC//F]/RVW[OHG1[W
M>]=7=QORYZ_"YC*>;M"CV0Z]@)WQ5 K%KG\Q]DNACTZ,%% 3"D,2+!_Q_/!]
M^[C;8CTVXF/!C!A+,1$1O)*6?2FX05S5%/<S;7*F4W:A38)-FW_4:SIF%TH\
MR($2[$ZK(I<ZM:Q'J9!RNN JP&78VJCQFX=GK\5.N 4H<#^9LOM43Y2(AB+P
M*)781!I[I#IG(3;F,JW7>#IE19J;0C";\UPDJ!(&T#AV!$:2*Q;S$+<,TPD(
M(-=>;D4@%:&PEILIB23\7F#C!9T6]R)8(U.FJ-!I#Q((I0F+!&(IEM=K11H)
MPR8C&8Z8+>B_N8*),*+40BXDTBK!(YD.V43F([AH,Q$Z"TEQ!MMT!$?'6!:Q
MP701B'<>[/UG@BU8+%.@28&9@Q=0I"&/YV9!0*8Q2L75 7Z'JHB@%"%:@"I
M>"655P: *3GPF"LUCWZ)NUW:&QD625(<D$2A(("0:X3%;6>]02&W(Q8K/;%5
M0A@QE#8W'#MQNADPDH.9P4)8;67-BKGO/+(?6JS_"(22SVT9NI+0*>EU'$M<
M;MEM#V6/<2-<-("NXSN Q@1R8*"D'=$2$DM0]E3Z=!U)&RIM"ZPC0C!:62>3
M&1V*"+<MVT(0(H&P>J3/'\(13X>"':/2;@L%B=U]WMP]H'7UVNY!A-];8GO;
MZ9&>9E6EG5$Q+N2(#QE9\M)MMF*ON=PHQD;DY>/$\7A0KWC7/:^\*4&)I'"G
M=2#31I=O R@+.2#E&')-$#T \R@&1-\A+^PS:Y8##QH=B/E6GIAU8:  -3B6
MUI4VI$3J]-"(,2>%!6*IUXQ0W$6YI.9YI(*2=>BA!$/ &*N5C'CN+!U8&4F.
M408>2-]!'-FEI*FP1.JN+*SK (X(M!6P* ?ST*(,LX$,"\5!8/4:''-6S+L#
MEOA>L]@D\6L@2! < P4B>O,8_S^9-5C.K.7RQ33U1/W.$VS]RJ<+_\5IAM0<
MRXB2AUM,;> W9+E%ZM'D0"G%351%%PDG^4 JF4^IK:S;E[+=)8*+L>^ CT07
M!@_'HP^E1UEA,B29=7TP#+6)R(!ZS<T@0Y&BORET2SP2&64QR6# \OF$;)<9
MV.P'R:APFXDQ5X4K9T);Q#%&!3D&3-:ZX3Q?W^U>0%#^<OT4X#(("\$MU@W\
M?*"+?-6$<N@ -7QUO\"/(UX'C5+QU\=,-JBF-%<5)18PZ(B4_Q@Y$&U7P5R-
M$@X?]5K9Z=VCM;GP#61"/4B'86$H%@MTOT9KHFV.^_16 +ILR$%OY5F2;3VQ
M)D9:H<J]>'7RK"S'*"O<R0F\D*;%S+!M;]:(VUE[)'YP:2@BQYP.D9+6@(B2
M]T*5YZBE!<&K0=IPZKW%D'SPFB'9O4*8960P+U&BC,6DF%=K5>LOQCA8G70J
M$V$&QIU<&SMK0>X&="8X7^="K!Z$9NX--)H</8\DC'1*MI ^X"!+)(>_-'55
M22^^%!(^N 0OTM"=NK:_SXF8#J0T04A$FTZ.=)0(I4!81#D,SR;3B>#W1/V^
M@Q-.?OAP;SBJTREA_'+:\2.D/WU55<SF1<PC++2"*ML7\5/AK486K$%X,5D$
MOO]8X&.+!-C(OX5+FY(_UQ[D?Z#>,J##X)3%!B44( S"E3\"Z=X/E1$/ZC5'
MP#(=:S46Q,(I'Y8ONDQ)&2+)E)X*/)V,M.>(Q7Q"^/^3#M5ZP^KK'Y]<GK/3
M\\O+NYOCT][5;Q\;.PUW?7-\=E9=?[,5$QGE(Q+=^?D(A&0PKS=#K13/K#AD
MU:^&^U[2Z=]6&XR)D]$U*ZMSG37*;RJ=_EDE52H_(-UK?>Q<7%_U%XUNQCR1
M:GKX-;.=K$7]>"\;W>-B"*5L]T/ ]G;V]CMMTDS?=<Y6S2K='.@\U\DA&R@>
MWK/=U@'0<L?5&2IO87BGUVW;=O7"_Z3U^)U_I]WK+OJ"_V[_72R>S;%U*&W8
M[W5?.+Y/3V_\.1'$<3&CD&L_R*QWN.UJO;N1SV5+K/)3LPFKA(H.V0U8] A:
MOA1HM&3\$;O.W)1QR"XY:JO9K* [Z_U9&>:WF]72KUD^HY'JWLER?0'<.9LM
MLM<RNSVNUU5:6J*OU=IZ-G4> Z1$[%8LDQ>I?I0^+DY5C#IM8%'!L@!FF] D
MQ%[Y+7@6J#9]CO;?I^DS]C]02P,$%     @ &8 .5V#]^!("!   R T   H
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
MV4TR&$D="+$JFXB(^A=!'>"[F6R*.<-R#'@1_DNA__EF2(8,KKY]M?Z%WPZ
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
M,.ANTIV\O;1->6DOBH2M M@TS632=,%'74 RMA'B2K/ = :D&)>#%/,Q2B;
MPP>%^?D/FJKK5B6PU=C#UAD#?CJD*5<O"7HE4Y2+G?@5:F#XJ2%>P+%SZ1RM
MPE8E69KE4G2>U)H&3:/ 5$>.SN92=";(@E!RV#QJ:#;KZY4IC@MGP'XU4C_,
MAW>AWI!C,4^OO#0#-4ZXCA<TF]L,P- 8SYV"#LH3WP/+0Z[_$[*9%"_\[OT)
M\MB7VVQW_/9HCRXMXR)TSYI.9PIT:N\6'K'&5W!>+9UB.#I7"&<(T_S)A$:W
M"QUU34>U0%#1X#*U);FHW=VQOY['8CG=CVYH]-E541Q(BH14M8$*\'2;(!2O
MB%3':L <L4RYX3)LN<KE<U"JDCK Q#?& I.L=):ALVPX73/FD\BWD",U7JXJ
MNJGQB@!L.[XD6KFLK'_7WWYVI2"K7-U,SA20: GN@9:PI23-%>A"[N"='"-
M6F""DN(X.IL/OZVC4P#O+B#R3^;UL=0J\,R?*&W/=-C?TDR*:/AA"66A[XMD
M&#J53>H 33_("LYO8PIT+K-O.X/-[83Q<5Q;+;@+SIOV8](&7>6N&F03)G_2
M8EEU[)@-)!W5[_ *4,VHO;-5G(4>].12T(G?MVM#W!$6G/3@"#&<F">]U/L%
MZ#H^D%,!*WF Y];U4^G]H9&OA-2/VY\4S4-)=4'4"8-EI(6_%<?17&(G,_K"
M5H!!388N,.&<989F1\ 5 6BG''J@,DI++DF,Q(^ZW$![&/W=I;OP-F',#(1H
MZ(NFVL]@"%T&4E &?+3(BY<,^,!1<"8C"Z.40CCA_'R4TM;X-R 7%;&,W$F#
MEQ1T5LG=]3(Y!HRZ7:;_6SJ4_3B[L@",5NFM15+HLL)E:2Z[>6!XO&1E=]0%
M)D(%CLYP^[8D]]Q\<6Q'57F#09BJW0.[3Y;3&Z@+M&(/KA5:R24YNKL9M!Y8
M\\?#)'/P$,8!E](<>'$X8]@04SP"&7EET:E8/Q@-7^@X.K]WDBA1V M,[J#/
MEL^%DRJ8;]_< KC/!%S>':^]@KF-[R5Q>_Q/; W[JFID=ND:%> V#WZICC:_
MD<@-(=I5A)F(]_\\T1BZC+$,G6:2&@AMB;<@K1K'A).]SKH5D]10-V%WP;H>
M_R[4JJ]WNWB#^UDQ#%0\<M:NB I;=#(<74@G+7S:'F/!"4V*SJ?VU33N0I-;
M.&"C UX3^E IW #H]JI#[V"JV6^5GRK*K?;S8%;I[,H!,%H&6(NFL$4GE:-3
MJ:0Y=KMC+KA4'&2VD#: ;A:;:0W@BX6I[UI5+'CAGVT@]!7(_[WQ\IY0F_N5
M&;>4W'"7VL9MTG1M( -A <1H&<(?ND+?2$W1C(\&5?&4J3U0&-P!,8;.9,*Q
M3_.U.]X-C6]Y24$MCZ]Q>QB[<UW=:LSI2-E3^OVA4VR/'N60#GOX\_T<Z*'[
M)_1YI1>Q_[<%3H,70Z]NT%DZP^R;.TXJ0O<02B]TLG1V[P%?FW=O'PQ)E@P)
MZ,N%_$O6;ESGKR=U?M#ZL4O9ZC;6;@I1M!SAB9CPLX!T(9?4S/MV6 NPUH%F
M\_OB;...;:LO#8=P2>ATYI)X,/]56>D1/#W6#E;5?7;EP!-=WG<>(V'+18'.
M99,VZ]47CH*3 J@Y]K; GJV'9W4+@X&$BS&62WV4^[=QX5GZ:3;#M1'KF@H[
MH"TO^EC.=5KE --EAAYDT04?&U+DS*UOV@2WX<6$-^]Q<])QY=BGTW3<U@4P
M@'..ZW?^=$NM?JK_EXDP@O-4&=:(%75Z0A0LG1 ]-AY=R8<[! P]!4KG"ZCR
MG?0""852P9U4H=.%%)W-'F#\Z-XN0HS/3\<+&A]#7QTNFTTBP_U7^&JM4FI,
MF)L14NZ.3B_]?!(+U\;38W.78J+@S_7'8<BG"P;#]\ZX%)37?%+GP/M%67#[
M232;*]#Y=#@%>G.I I0U;"A%X:\IZ1)Z0:/;,CNZ)$KXF/6"7$VT9K7T8*;+
M)K_+$8F])LPA.-$03GX&*6J,5JXWJ2;0S-#98[X'\KD.A'-I=-Z71!' >R!2
M.6G4T60FE6?/KLZG#8[CS-HH!MA _)#M=RI#,SZ&A^^;.';RX@W%*O[#TR86
M^?JZ>OM++?\8=MZCFZ@V8W%I"F:T2L\5<:%[WUR6SNU]IB7^* NP>V::3OEH
M@[>+&)5<#FQ;%A ?$EP4(K[RAV<?^V9>"+E7IN^0>7I\>]'K.M;XRX5"H5?:
MI6B6I-W"(E2 31UH-GV .-F]U]#<R&B[Y["DF/ ]ME.M*O:6M75?FQ\!O3PR
M-!XB7E)X;5PUP$#W&I.*4GESD1_?K$T:XM/+1#*;WY_>L\^99H06W5H194T5
M<F8'&OPH6B,5(CW"CR.S;(I.Y9):375HU <8C^:R+)W*!+EU3;)JT6;5YKV[
M&] %F@;$.<9#)Z/X40E>E(S%9IG9'O-ZG1:EHA1=7^.I<C40K'%$>KR@V3RH
M=TIZ.WU_;3776YE$[EC8']E[XV$@5!Y^!)D,VFN/;,82RZ=?DNM*;I@_[4&U
M$(HI/29+9S-IZ%QNKLXE,\-WHMD^]9I>L\"1VJ6Y(,?PKIT&SBSUX)&,V:9-
MO5J;O.=TZ,0[:N69_S'IWM>EVGMTG9@]%4P=.,D$1 4*1FX4]-PD5417K;$I
M:&[<^9Q_!K^Q'+2CWZF?T3;\KL*%3('FN)!"VI,E48![\QDF2[/,0:=SS.<<
MH*#.8JVB86A2Q\1S)MNJ5R9AP<EQ]-+D)SN\?^J]?M=O=O%UP\AJUH"N7U!S
MFHB?6QX:PWW$"FB#8=V:ZH=SD[ALFB[D YPY<?QN4C#4#,&!2K$,G?'1I#T8
M]ZGHI=:LY.=44XW3OW\5'V_K[[^C+'59HY?<=-*.H?+*1+RM+>$")L/W5[(%
MA-J#'Y8Y!)X"=!K80H;.L+'*,>Z2DH(A :7W>0U0GSJ\+@FXH8THR:8UMSL\
M2DY'P2/-46 J<YJCS&L*%#R]";06 NT: ?8BN,V3OA^^@QO#>#3_],XH0S+0
MVSQ6]AERA,SKNO7&85\Q7AY2]WWQ]M'X[RG#5$M,[Q=7,/^[?30%[O&U6H8Q
MTNWCF'^RK@M<0>>?\/VOU4J=>?Y]+W>>'DWQ^UVOPSWWVJEK61A4&/X)WCN^
M[G<&O]#O#.'[#YG'SY2Y_UK7/SJ#^EOGZ:'WL_)H/O]^?.7A<_XKO1:W0\F-
M12%WI.35P7/S^\_KL2ZM08I#Y-BC9:W,N_)*P#JR6J\LRG\3OTK?%C:;: >#
MCOGBJI]6+M@58(<H! M/-:R,4W^^_Y4M/HW3S#AU=*J!\:D:5I'RGU[1M)^%
MS$.'J(:]W8)#*(;@86.^N/;2#% M;,ZM/F'O!(A%Z.WP/5 W!QV@-;H6B W3
MT WHAT 46?(]^=[_^6/2K15'/7"@>.'LR@&1XBT8*04#B2IY4=\82%0L+;JC
M0Z+=K=\*H:%:((?-6(Y.I](); X='$J#D=TYA*9R')T+:>(-NUD\;3VU@H&7
MR>,/OO)KW+\1;X(\I>Q_^+A_85V.;9*;DMJ)>[U(>#"54,C3!3)Q. IJ!JZ-
M,BQ+0[-^R'V3\O*$(3263P-]H.C2&YAE?^K :'3;_*B)=SSA=0UUJ+P!UK\+
M%4+-VFWVX<?;=49AHSQVAQ:#=-5L-79N\B*.)3KQ@F9SP=#\7CYNKU&JUAOM
M2?V_FY=)K=)K2K\F?),-<C3(EAGHR)*F<=P)CUUF.7Y[T;L(Q(U/Y>G=M\WI
M0&\UI"^*?TSKW)"C;K%P65O3"R+&OPXR_=*/@K'3J+>0"V4>%&@49&D"O<<>
M.M;V288X^(Q.MW4M1%""TZC0F"W^"':H?<Q6"YQ##K>+#75-.JRB#D+U *@>
MPFYWFJ&SJ8,6\G"+'8^7T>8@H.J4W#55#:/(5YF/U?UGID<=G6H.Q9=)NU;Y
M==?YVWEKAQQRKZ+%ZN_CYJQ&9J$#QGWXAX,8-D]GN7W;<!\IIH-TJ-)9.I<.
MI^=KRI_P^Q7VA:J^.4FO/6L/_2;+]D.:+["/\U1R40+4__UOGF/92\_JON0;
MT0WE8'LR RGU.S':)K[PSZ<;M.C28.4FO+;&_*.A/?TZL!NSG4I;+A"LR& D
MH<\M539Q/$AA"BO8 X;>$5SXEXAD8<7&AQ GK"%R^'FD7"9%9WU,34I&;!='
M<@7H@'&I+,UFPMXE^(HE$W[^^.';<%X+6 <SJ;8T #I5!^_4O3K@%=JZ0%,M
MH$G=2VK :ST)O@'=RBR^5 !(KI?::F']TN4'DCR^V/1L?*\N38#38MQ9@%U9
M,4P*U-"IXRX_?F@!0-55 _X8ZL$'A8<>/]IY+:F*B$X(BI8BE ;H"N97'GU=
MD11>$22H&5L&O("[#5'V,Y.'"A<"0KC_Y_P<KA/(X@75Y'O@$C[@KPD4 ?XP
M>TD]\K()/W'4^;FC.$3IS;_06TN<WI%%D'RS#)( 9-F6'RR#Z&\(G.#\O?@.
M:#ME?JA#6)Q/E]2[)!I]M#[F'Y<%KRE/-M2AFY#^_^Q]:5/;R-;P=ZKX#WI3
M=ZHR58+QODSF294Q)B$!3#!D^^*2I396D"5'"V#_^O><;JVVO"+;$NE;=V8
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
M8K^:XFRYIF 98?-+R >MKS]-\T?!N:SML83<AY*7D+^8*')!#AT0@TR(8J&
MF=^0VO<\FV,P%+[=]$[L#]9#Y]<F!+%.3?GLYJ[FU(AC\EPQ7Q4NB0XB4-K/
MI0:FH"U'Z-:K*7(Y,;?"-*Z]70BMF'M8+V^:>QA/]>5PXP1I[-98TV1!DYPX
MEJH3RR)L8AC*2?<3A75D#T4C*1-TQN:Y/;BJ7^>K>ZVF3G?^:+V:F?Q1O]'
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
M(.%,U25=5B5-\..&ED#7S&<0%3$'"'#_OZ,CV"?1E'^%:^F>O(,%?CM$EY&
MWPGTQO-?H2 <'7F25U$?5\]R85OTGZA0*43)'K:H:6X&!65Y_!V D[W?H^^0
M0<I((PM@\7YZ)SRIBCW _>7^BMDP)D2X:TQG&=C&*);I _DQ>Q:1U\&S(;QY
M&'LGW(Y'\/Z&*?54^9UP!>*58?7*0 36PE_ZQ_L6?A((!D\H_/</X#D.Y2:1
M'HYZ! 0IK#VB)^8B&7;E8=@GQA")!20PBJX>!@J!96>]&4G'X2T,7@X39*:(
M(I=4?EEV)96[NFU*NH4J\E_!&8V(*4L6@9?TWI]=M+Z?GURT0)"U+^YNS]M7
M'>'\ZK9U<]7 7QH7(OS://[OG][[U[7Q9OOJM'75:9T>'M#]GE]&)71(+AM]
M(6S!4#%=?2<P2R9[F*';?WMWW#D^/#A%D6?ZJB=08']G<5_Q#+J64E@YOVPU
M[?'&SZ!+)G\MJ<8=2>(^DRX>G!;^^?_>%*;M@:69M9O8_HGCFR4WI1W?J>U>
M]8+CW_3D1VLS[(YD9\U5"=>2.27TA?0#3=V(*;#32'HI X=SPB*B<C-T&))6
M_9^J9X][6 ;2>OLT^MG;)XBV]3;)Q0H7*XE382@-(GLLY"5,<:;@3)$D7=&$
MH.RQ0R2%*7O@LZ2K]73BVPO#LJ;OA=+(<&GTA%_/S<.M :9QVM&=,HKD*F"1
M,+HR]*/LB=!FD*&PGASU\AFX*<7Y*%&*I))Y/5K,'MO%1.*RMXG8T&$:&2[2
M!&+?(2PNZ5($8,KPE3)P^/%E&AQ^?)D&AQ]?IL'AQY=I</CQ91H<?GR9!H<?
MWPL\W*#-89ZV>ROD\FZ[MT*N"']+OLUAISMYSM_<=(J7ZI?OM53,@%LURN"F
MN19J?R5X0)'NAZ=$IA630C%/.R#F$ZG)\N!.$NS$JPF]'.*_]MH7L;FX+V+'
M[XLXS2B)]$7\//S2:/8=<F$/_+Z()XDT1'2Q6Y[";AI[(^:/\H4CP.C6>B,6
MRV6Q4-I2P[9]DC$7#B\#.YFJXW2PVO8*D)/BS[@^BL":G"TY6W*VW)PMM]QS
ML2+6:T6Q4EJS!7RZ*(KS*>?3??/I=OHSUL0:MLRI;*F[!V=/SIX[8<_]M7*<
MYL\=MG*LEL5J,=.<FT171\ZT667:U/!L$FT?"V4QGRN(E>*6>JMR5<JY\L_B
MRBVUB 0FK94XDW(FS3*3,AR'_[UOMMV8(ZMB-5<62]77%F")#9OG3D,!PWG^
MP9EA$@"RZ9A@ELCC6^S0Q5#2T!7Z&[@7^)L_)/**V.W^K?0<>Y;,NNE.SN3'
M3U=?E(?Q1[*_:8%KUI8D?$PAY#'X)!^%*<[ 2"4JDQEYNUT9&1TJG "(*<0A
MI[ST45YDH?FCKZNY7-*CKU..=DZL&2;6/"=63JQ9(=8")U9.K/LFUH4N^4Z]
MOZCG?F8:0\Q$/<KEX?_LI^*6@UA1K[]4$,OK7L)EG]PXDW(F38Y)DXA:<3[D
M?)@2/ES5LBMSRXX3Z[Z)-6M*XX_6#\LC,=>FT5=M;-_8G>3&MU]NBN?*23,=
MU8;[12=0((-+I23,1=EK$V4\2L(I+^467XU;?)Q8LT*L=4ZLG%CW3:P+W9/
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
MV>/UL$?BF0Z</3A[I)\]LF!&OG :#S<:.=MSMM]$*]9RB6>I</;@[)%^]LB
M5N0*<.T2K&(KMG/:5 NV 8M&L^9IY[JL.;B=V-%0\>'LKMKJ3CK?QNWO\O5@
M\*#NKQ:K!UO9:<K%B:1)NDP8.)\<G0C%G"@@IA=2U<[A7#DU9#7(TM-#D':2
M:SNV94LZDBW2XE8[!EY4VPW'(L\E1?4[!K;HJX%:*3',:1:X"69W7 X[C<RH
M8&Y8[?[66P+F"V*Q5A*KI<IZ<CJU=,OY?E58_Y?X >^AFOS%RG2K/#>;&H;L
MMF:;\!20"F<USFI;9K6M-QK,5^"?W)K-!E- .YSW.._M2,TE/""L(.:J5;%6
M7?,*( 4TPWGNM?/<DI*#'3)=0Y:=H:.!@ZS,&SB^=D0J?O9WM5@6<^M>R*6
MFA97_'!&S#0CIH8/D^@:B2-O"@6Q4*EECLFXRN.<MB-.V\8 MH)8+N;$<K7.
M&8\S'F>\".-MRE/%O)@K%\1::<V9)RD@BI4CMM7=16R_W5R.OG^T^\[/#2*V
MBFJ-- D0 := 7D, EPN\;<5K2WN-UY;JE\[OP:GRZ;3'X[4\7LL-'6[H\'@M
M9S7.:J^,U7B\EO,>YST>KTT%S7">>^T\Q^.UV>%&'J]]Q8R8&C[D\5JN\CBG
M\7@M9SS.>*^+\7B\-HC7PG\0C? 3_#R*PIW/+8=Y*)GWJGYD&Z-_A1R6";M_
M\(J'<].EPS+!$TIF:PC@S-Y&+]P+A5G(;1]JVI7A\*!#B'!EV/!EVQ#N= DH
M'5P?H6GH"O@\\!,E:76(?Z$U]N@9"6>J+NFR*FF"'TNTA.E.#YE!1<P! MS_
M[^@(]DDTY5_A6KHG[V"!WP[19?AB_9U ;T'_%0K"T9$GC17UT0-H>:."*4*M
M4,E$F0&VJ&EN%3P5 _@[ "=[OT??(8/DD486P.+]]$YX4A5[@/O+_16S84R1
M<->83C0 1HH5!(%,F3V+R.O@V1#>/(R]$V['(WA_PY1ZJOQ.N *1R[!Z92 "
MZ^$O_>-]"S\)A(4G*O[[!_ <AW*32 ]'/0+"%=8>T1,+BP>&89\80R06D, H
MNGH8* 26G?5F)!V'MQ6D%Y=4__7>GUVTOI^?7+1 6K4O[F[/VU<=X?SJMG5S
MU<!?&A<B_-H\%O[[I_<^@]MCBV&&A]3-Y6IOO#U<M6];G<.#V[9P=]6X.SV_
M;9T*S?;5:>NJ S]1!)Q?XE\ *^>G#?SX[/RJ<=4\;UP(G5OXPV7KZK:34:R<
M&>;A@3T@ NMR(K1 (2F1IA#%C.[L[=UQY_CPX!3%M6G]G<5=Q(L29I5>.4/X
MEAS7A:9XE,O#_VV#_<RL86+)T@@UBXF]:Z+6^(ECJ3JQK%-XR%1'U/S6E1/)
M4C$6"98V[$S"O]["FTXT,-VIC/>RI6J1J=GK+]:=/#DJ.:O>3'Y6^V\2/1/L
M :3VQS&'\J]@@0>@'0%6K!7>0DDJ#_04B!&Z]<))=Y*O?R-?3OH_ORB_WKP_
M:73..T+[3+B^:75 ,%#9Z1]A0(.]!.GD.++^2XG[U=OY+E&X?U31!(=%<\=E
M54]R*[<#H/7# ]6U[&7?UI?#-G[?M_&MP,9_BT9^(?=NZ9/TN?R[OP65NL]$
M0%$NR;+AX#)&7SC3R+,*!ATH=4-C WZ8KZ%+K"$6*'5=/A;>XA?=MV(P1M+'
MWMJBH,):3^"M:^,CXTD'4"RG9ZF**IDJ8,1[A7!&S*''W,*%K1R+8(+J1G-
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
M4 (A=XA;HVG;2L1/IR8D\Z*E7R!@9$VRT.J$@U0]$O_7#Z]@PH"AP-I/AOF
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
M*!FE#77I^%E_4@U=" =RAK^,K17P"PAKT%,?.P]'-X@#8</@#^' 8#DVEBK
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
M!BL891GX.JM?)JX49=XC*YW'7C?N%5]((JOA"^8M]]I?=[V4TB,G0 %<5X\
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
M\J 47S.-\+FWR<N%W@(J)OL#%1,M5$SV!RHF)%1,F*BYN=KUV'C\-S0M69H
MIINW!$94@=U7^=3X"2S+VWQCXZRLW&:8[B(W:=X1-]-"I9[H&YR,2[% M;MX
M7_25UGOSHYP"C[4>FJW*0^<5QRKWC[46A!7!_I<9@V-;KQ3:E>MFO=S>;_6
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
M"?#JJ.G^9R489Z-*,+XLVV;K@/.V6@/G<FZT&_=J!]H1E(W&GV=()))VX.[
M>MM;#FWWBV(=G93E> B[/F2$B@@,B?ER"XF*V'(<P)(D3R0=8:5>+YF7P^6'
M$5]:2 JK4EO9(CT.<*+H-$=6Z>,5J=F;T6*B[F\F0P1I8WB.]E+3GH[^ =Q;
M#T=FM[SP.-Q6]\JY,"D549T4@E<:I7&F4\[QKFD4NX'+_1UKNL4>SH,"5O-_
M9^=K!R,3[%@$-D/_B3G>Y:\TJ&@"8>Z)D[LIA[5\J]U97IQ\?HWDZU;QE8E(
M.1Q&(>SE *PJA(RGWW;P(.>?H@5B.!*-13Z7FC^-IHNC4 *TI02,*,1!E$#N
MN'3 5C'E9,6-[0.3WTFQ5.(]12WV72E-.))A^KM$0'<+D^\M\K=?O9/.1WS:
M=JT R-QTVE7N]8H1/A*?5O:-0H1FG.?T1("!'M\XG\Z@P,Q%,3V(P3KB)WK
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
M0IQ9%R3V):8TPZ"12BX+8:&G(A4PK%34A9;E%GLS,D)63?;49$2%=@GT>!P
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
MYC.$>%HVJ;6)&=@1.$4!AB_X[&_^'W_#T8W.=SI:YQ_)V'?$N'U;T@2A9V<
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
MF@ 1-K<HYC&QU>-P?/_ZQ66>.#J(AO.D2!#$G<,S#I&"G6>\A4V@..SJ+7-
M+CEJX3.JD8O.;7WHN 2,C$L2)U[(-)[RS@+\B2(?<Q2934SVD^.6=ZO4)^^,
M J^(,G7$^BE3D#EQ\C&KEKPS6.+*DJ(2IKY(/$_[MD-:CSN[YTU) RQUD2?<
M\E?T_(!012UZSS8](\$W/0+%0,W,+K<$"?A[)NU;58!B7_"YM62*TY.E;(H(
MG=3@J<)K3FJPF]*U0W? D[H@\XT1,9A]?M!L[$[H"@&V.W 19$9D<<H;WMG;
M!TUME=7OS(PY5J:8#%[X<EFYG4TL:;S]Y7S.K9_/+G[;:N'ZM_/;5GAA0>7K
M4[&8;[X]\!%4\.S;L5M>311ZD0965)HD=W3L0B0R'9=CM\I&8X*4R.>V=#6+
MHA!LWYY?]&R4H2D\DZ6^N^>W1:\HZJ=75+2]HJB?7E$_,8V(8QK<GC+CD _6
MXF3-CE-$$)TXJE0!N/JF:"9_+-X''-W)9I^)P2%JN':\,5Y:2Q3IY1L:.5AM
M&8*4<A62D8!P!/5?ZUS),M6R.'K\^&236_45BG<W)6&%X^F=4K V)W9Z<S+*
MG3KBO*D5MIL]?:3K[;O*K#'<<]Z4]ZZ'J1KCQ&BKQAXG1M^:U1"GS$&H=6#:
MHJ:-EG+EURK 3!QL1E' 7/2XIYY::N:CK\#CFVALCL8X_FT=852VQ<Q1E[SC
MO3M88<@*)Q%<Z^:JZ$!+JRZ1;6/_10==XKDBB%@)4W@NE<?3@;HIK83$3T_"
MQ,1]4'2./VEKA9^^>/YC*%#<;4'P3,'9,E0>=ZY6Q.R5(7$J[1-F\XJL^<#?
M; J2'R6GE%OW2JMV,\HQ+JVN#$[9.FZ>(MR+V@+&S==WQ;OL(&@OOJ/:$Z'T
M6'P8W3P*WMB9>^J^=_!S3.'9;!JGO4.=(5.A N0B'$VP?)V#LJVZVN+N"V^D
M<(!<A!V3I*(W-$C@\9,^>9C?(UB>_&G#T.)@O?T\A=LNA=2##9U0Q ZH%TED
M;<?!M6KUF^<809HX<DG,\WWS,;G1&#);OMT_#G@DCL3:FB(XY^E\U)6NJS@&
M+@$1RNI-_1WXZK4W&-Z_7E5?I^S.,,F4U2MZ#QP3(GI"$@&")V[%M$8AFA67
M],Q<BQ'T*TG,%E^DV(5#;R?-F_NGVW?JBTEHQ#@DMP>+&(>5FYL:IE^D]E4_
M5XPK-=&39Q)Q2A;J2^V]V<FSW.S]P'5TGH3:=S)C!L]G0N0R!N.@D+F,">>B
MJ\)SN76MB879!F"P[6,V9&9CS.;T9)N@#?'=<QV]M=2HITR_'DIJD::/,.LQ
M3AN=QL$QW#&64_KNV8_>C"7?U#X;J7(Y.SS"-,@X^2J#DYEOGPZ9_&G#",_0
MCO!8Q]FK>LPNXK&1R;0)=,TW@@K&&\'=+CU9>KN1!@*;?7P8)3/>&G4&,K4Q
MA2IP@5>,$%.12/SH\:]-KF%&N>(BE^>N/OOA?5DL9F?6C[DV^*RAF&Y3:Y]
M2"_ 4!6=R2Z,# -]GQHO.S"G]+P4,F>ZL(A!+7K#JKV)#/&G)@S$K()VKPEK
M;"%665]V("ZCEZ'G[6Y95C[-!D#E"/WL7))+ !=TK?I8X_-/)>WCP-YPD(*^
M"%).:9RD\W%AQQRP;F]!/(L3Z8&^N6.8J#U2*N?ID9Z>A$DC.(!'NIU&*-<R
M]^1XE.IIR74;HR]F(N@,GLWG=O0*0V[N_HQ$^N.S?MMJ3U^9;'*=M[WO[H]O
MMD_?;+1^^T[CX%AE+1AIRS6ST#@W>F;>$(QQ9&?Y'[H54(ZK$KL@1J7^:RF7
MT%2J:($W:)Q*;>F7(2Q5IXT*+<Z>Q@LH.1R:P3"A6P0B6%$8>7YZ(G.B-&50
MU,MALP8VN'7N\;U<)BG#W%V:]&;3W$Y5AQ\-)$W6KWAU#'0&$[0Q.*4:D+,:
MYTQ>ST5L>]-;66U;VM]W'D"BVQAM?&I6;CT"AF(VF-_;&VVTVS6"MX%;BM/
MC8)4_45?FA3YW$.Q%SFIO.W;M2S9TY, ?'< =(FMI'$A6UJ4A<G56#U,%?\A
M)#(%)'(.I_*[)K#NT+LF/A-W97^%OIKZ5!GZL1)D?[<_,*F?7BG;3MOX$!9O
MP4&)BS0O1KF4@H)*PI:$$VZ5@4$I!?1L'_PJ\$B>Z5%@0="-RKXTY40&MMZ.
MFAA)@J:@?Z IHH6FH(\9FF)CXJ01JE0E6V.=81S0+Q-(4%GCS.S&:KOVJ]T?
M<:PF<,T!E-HE\SQUX-H[8."B "Q]M!!3E>3R0)68 CS0U^']5KK&RN/B!SLX
M2]#!C'HDBT1%LKMHD]QG<7Q?[S!]:\TLKTP$!HP/=I [NVR7KBOEQWKE]*19
MQ>K-0@,K-9\JC4*CTUZ!Y(Q+%BT+S:T$0O#]"R8ZSM Q\)$6NO Z,T^++20V
MBS]$AAG'#T<J'$=@SRY+X"->U(!)HI]Y>SAC[=9X:"2;<N!A>P9@)9"$_W=&
MG5F[G\J7NBYNV6)4[MS>O=^HC^_]5:GJ,_5U"7AVN:0MMY]^I&NM=EV YQ=\
M7<CVZ]F>T&-W7.N:<1MBO5">F\QES7PI(0 :F!W##.[R[>Y"9MZER>RA(7;>
MS_P9$O W6,A0!B8I"WE<DG]A\K '/-843M' =$^G_W%A6H/S,R1@_*+NK.$6
M!@VYNDCC:>HOC[U9?HS\RTVM_H_'H&1ZY7$9GI/-!>,VQ?S"Q<$]H-7D3C*=
MPHFL6Q]/]V6X+MJ=[6,E9R86<I*[D9/"Z4P&3[O&T4.2T_U4%?U.5;7$:#/B
M[>:&9-QUXF\LDD,6H<(TSZ8^=H\#E@B*#@*G90*^(K&6$M7)Z,M0 ;CHB _B
MIM.7/-+L[5 %.4D;31^W0_ \XE7.R?D[D=Q=6KK0??.#$3! K+-QEU[."&A+
MEOH<QRK0K8*7'$B*+0J=QSNF-;RNO*3B,0S6I]T2- 7XK\9T]![H"%T\;KKZ
MGRXW^OCESBP[I&%/G'<T-!F\&!'-UGH2A:48#7B-\+A W_V\4'8HP+DT& PH
M]/7K._@[^EGAX6N[B]=VFIZ\W-ZF)\,0)VA5X&TZ-JC+(V/,Q0@?VK/!''!4
ML7-&P"AU.GUV>;YB5223JV$ *>"VQ\OD?F!0NS.Y,XFN9=Q05R79N?(R-Y'
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
M"@_-=7'\,$TVIDR\.J';W87).@:"-_N\.FNNI_QI;ZS9.PB<]K-OL[N4BNU
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
M2*LE>Y"(_JXLMOLW4=Z*A[RP[_+6SUP'D5@^8<!SBN:!ML'19DE/"]W\C":
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
M6<K%BH-A.TMQ?(NSZ&9*N+E31O:03X%I2M-N__M?[QCT_P%02P,$%     @
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
M^C/$;6%K2]5ZQ8YR\K;[I&%:9P@<YZAMY=TPOS.Z)X@$K,\,0N9$9X<VV)@
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
MU7HSD9[LTW_=HQ##3_X-4$L#!!0    ( !F #E<4?V]YZ#(  -HY P 4
M9G-I+3(P,C,P-C,P7V1E9BYX;6SM??MSHSJZX.];M?^#M[?JUFS5I+O3S]-G
MYNPM/TB:N@YX;))S>W])$2,[3&/D 9R.YZ]?"; -!CW (,D)4[?.[222^%Z2
MOK?^_I_/*Z_W!(+0A?X?;R[?OG_3 _X<.JZ__./-[>RB/QOJ^IM>&-F^8WO0
M!W^\\>&;__R___-_]-#__OZ_+BYZ5R[PG-][(SB_T/T%_%O/L%?@]]XU\$%@
M1S#X6^_.]C;X-_#*]4#0&\+5V@,10'](/OQ[[_/;RV]V[^*"8]T[X#LPN)WJ
M^W4?HV@=_O[NW:]?O][Z\,G^!8.?X=LY7/$M.(OL:!/N5WO__#[]7S+][Y[K
M__P=_^?!#D$/T<L/?W\.W3_>X.^FG_WU\2T,EN\^O']_^>Z_;\:S^2-8V1>N
MC^DV!V]VL_ J9?,NOWW[]B[^ZVYH8>3S0^#MOO'QW0Z<_<KHKTZTGY =_/E=
M\L?L4)>R= ;HT/T]C#$9P[D=Q1+"A*A''(%_NM@-N\"_NKC\</'Q\NUSZ+S9
M\2DF=@ ], 6+'O[_B-'[KRX\\.P^>""$W@:#$S/Y'1[U;@B1$".0X_F/ 5C\
M\681NN@K'SZ^__+Q/?[&_\Z-B;9K),NABT7Q3>_=J=_7_0@$[FJ(?@D]U[$C
MX QL#]-Q]@A %#) XYTN&.J)'0 _>@21.[>]$U$H7:M]?/#N!BOTY=!<F&M\
M(N$I?=_!IU  'H$?ND] 1V?>"E3'L,[J8G$>VN'CE0=_U9! ZC)BL9A%</[S
M$7H.NC"T?VW<:'L:.N3U&L9K8(<N^MXD "'Z<BP>#,@I,QJ&;>8N?7>!MJ,?
M]>=SN/$C=.M/$+GF+F")"]?<AN$= W1QA&\9D!V-:AB&%-EP"N; ?;+1(!8\
ME!F-[Z$G)#$P<-E$*AO:,#23 *(#,=KB[;7&VRYF#-YS3.AXIC8-+3H;$).8
MD!T-:QB*:PB=7Z[GH0M$]QVP<'TW F-T@Z ?D5*VQ-/Z80C8@-98J>G="OVE
M!8+5"*QAZ+(A)HYO89>$T8J'VV5#FSZ#'V$07:"[:C5V?8#NV0 X;L0"C#&K
M-4X^,"$K'=LTS?#E;:Z3W[(H53:V87B&]MJ-;"_^%,L$*1G:,#0&]"_FT(_0
M#VB)9:P((2EF7>BL:4WS$"SQOD):V4&1&&["".G) 3;.@U6L^:#C2T-0P94[
M1^<"LOR!/V>I?DTLW;2$(&O QL;!$[AREYN J5Z1)S3-A\U#"/ZU0?32L$;
M5/L(PT5JIDUHJ"UKJM1O6U@'/ GZ_ KM:-E<4):.;5_CYH*-.:]%[9L+0/($
M@9HX%Z3\"[2DE?-!63I8GH;.!73M]=K6UOGV/WU6BYH[]PXKG]"FAER1<H49
M;6K+?'</>88@794+3+[)"NFM?,1O[ /M>S)'(+)=+S3L(%%5JWLV22LTS;7Y
M(W V'K*4;T#T"!US@8@6@+F;!8+%F"IKB-0G*W*AUEJ-6QVKE1ULS<7473Y&
M%W!QL0F3:P[)=:Q<C%W[P?7<:,O)G-H+MB9IM[[CAC%]@3-%\CZQM_%-5%7:
M.-=IQPJH*%N,6:W1NJCK5Z4R<X768-^9 ;R2SIS8&J0%,V"WMV)+H"KXE583
M:!%5%/DZ2[7'H<0$JLR*TFFM0<EO\U1%I/;*K>&JA9&[PM'GJTVT"4!_!8/(
M_7>L,FC/2&\+*Y]4E5=LR2:OND\8TUKCP+&-6I7>C/FMP7UENT&<DH94YD1F
M^W-TQ@3 P0=EJLT@E0W];;,"3E6T3EN^O?T2)V,D&O;!?*^\1WA6:4NG13?"
MPHUO,QB&&9-M"CR\;2V80)=J'* ZFHU_J$4_3<53@F>JF AL5:NJVBHMGG:V
MC_,<?;N&'D";W!K$YB:*LXN1%9KF"V(PJH+.M4J;7K^JEA+/W-9HGO'P]>?H
MB_%)7Y7D/(N(P&!_D\575>*V/ $7CN7:]-!6/7=XYK:8[U 17)ZIK<G,R VC
MP'W8U)(0VN36(#8@.H\+'N[]_1YK;$@GK>'#K+VRH A 1;FJNDQK')LB*R&(
ML/\H=>17%C3F"BW"CJ[^#4@+=["^>(OMYR1Q.DYJMWW;L:LC5&?95NW!"P_[
M!%*S)P!Q>0L&+($$@92%L([!>,H'%(I85;V,6O@4C1IV,-\1I&QP%E9"5=*N
M. J7(WV.<7A$2P3SS0.X<-P5+M_ Z??IA[(4WZ_B^M$[-/1=.N9=Z0+MP[W_
MV(4#5[9;$>CB; $0QU^Z6('5 R[+J@1N?FK[L-J>5PW">$+[</DPZE<%;3='
MJ$R"A;WQHMI"N9N>ASGU\*(1R.C^F8,;/$?X8'%VD.,%*]<11FZ$9Z7EH)>]
M"UP[NL%''/IG.K)UB+A+ W/ ?D 0[@N>8FCQ,1L"IY>NU\LNV$M7[.V6E(Y5
M>;5@#L6/IZ#8^TON"_]'#LJUR@=S1/A4C0B'#_;@HG?X9,_VG5[NH[WDJ[V_
MW/KVQL'*B@(T*E8AYHCQ^11BX+5[\>)JX4PI5<PA_^44Y+,?^0][#<._]9)O
MY6B14F)'"P_.<P3PL)8+@^)E$>Y.^84=/L1'_2:\6-KV^AU6']\!+PIWOXD5
MROCR2']QOP<4.U9U],\]\SW[ 7CQ9^_3P65CW\F%.L[)XH X'7<,[4'>^L$.
M[O1^Y%1"DDOY=VP=(PG5O/AKZ&)/=/4=9(L KIBD3,D&J1AD:8L >=.# 9*J
M/]Y<OC_ XD$DEW^\B8)-"<J"&93(.3[[H(^W0__9Y9&P\FF-LJ_4DF"Q*\\%
M JMH.)=P3A:/CL <I:8)B3>$X8WRI&@HL1A"I37D08#$EP_OSYDQ]Y<EX#?%
MFYV]<.KA=RKS8B1)_/LHC7\(RA7TXTO_)K6A2;PK#+UOG&UY8Y[ $OK>@&R8
MFS[="MZOJYE^G\8W=%][GH,0)SO;23")2&8TBS&IA8W2',4YP2<27]K=,L7^
M1A\XFAWXKK\,6?N@?/Q]V1FL"F_8D!-O%FELZ<_GF]4FCD*9R#@/2@QA%J>X
ME[@O.X 58UXU9(@WC31^)EX6%LNRH^X_J<^5 KPDPG^21G@#^B4!418C:+/N
M/ZO/&";\)$9]EL:HHG\';6MOX\15.4%,V2C)/,"6G07+4:19K$VL?_^;'.97
M<$,TAJ9R=O#L$9TW82;%C<+MXZ'J,ZX48J)F(HL'I-OW"@; 7?K#31#$)9B!
M[8?V/ USQS]Y2=#;^><FR6PU0&0N+/NY5"R3FX7,7Z%@*"\[XJE!U+"D*5AQ
M$CC. *>H5_LQRG/T"%2B7B7UMM;#< .<T2; EPL(7.C$]JX!?L5_H;J/.:8K
MSR1^+(CJEF+\2RZA^@P\FG^N'"Q#@\3"+])<!/M#.[1@WW%BDMK>Q';C!+LD
MP1@C@OM,QY%T=#6DA3%)5BN8@>#)G8,$Z2F8PV7"F%B"*9Z%EK^LO-@((0!)
MX+[*$KB1^^0ZP'<HQ\)^B/(LS$-*HO5O:KDMD%87X++J*X3V8!,B%,,02=>#
MZ^?Z(_/Z,QC+*<_#^EB1^/U-%K]O7!\&L;&>(#$"!R1R)1<DB_U[8O*31:"I
M+R@O%8TB2O2!9(CP]W='-$ 0_FP[6XK6'CV7#_45IVNZ(<XUV00 _3#HS_19
MS[SJ3:;:3#.LOJ6;AH#\+KY6Z3G8?SN&?:9?&_J5/NP;5J\_')JWAJ4;U[V)
M.=:'NC83@,5Q6_4<O-^.X1UK_9DV>RL +EI[]2R,E^^/84SI..M-M:&FW_4'
M8TT$P*6MUW.07AY#JAMW2%[-J2Z&I%SMUW,0?SB&>#(U)]K4^O'7GO:/6WUR
M@\#O_8>]6O\MD8SOYG@D!I7C?NTYL#\6P.Y;"%(AD-5IT)X#_M,Q\->F.?I3
M'X][?6.$1&:D7>F&;FF]L7ZGX5]8?>-:1T+>Z\]FFA@DR3W=<ZA\+AP?)CK<
M+&UZTQMI$W.FBX&VM-U[#M O93MS9MV($AI6W_<<L(4+</;=G%H7,5G'NJ'A
MJW XU4:Z)584'D@ %VZ]K!@,A$!9WBX^!V7AKIM9YO"_>N8$JQ-"I*"TB7P6
MQ@^%NV[8G^A6?YS *@!$9C?Y'+B%"\\PC8NA:5A3<SS&>@XZO#2DM%DB%)U&
MVL?GT"O<CC/M&A\9VNBO.<5N>(O8<Z--$;I7YO0FUD_CPUQ#M#!O]"$^#35T
ML!O#'T)*H8@]Z'/H%6[1H7DSZ4\1^'=:[TJ_OIT*45")K>ESP!9NS=GM8(9T
M%*R@:%C+$@)JI=;T.?@+5R7#,NC]9;>>B%*6*EWK<V@5+E8F6LEJ(I J;W*?
M []PU:;VCT@PV?WN<R 7+MLR<T@D_)1V^#G "_=OUCH2"7"%KOA9!#X6+F<N
M8TDH9N6=]'-8%.[LG>TD$M#ZW?-SN!0NZ*JFE-#CB-%S/X=9X6XNL:Q$;W)"
M1_X<W(5K.FMH'0#N"A*[@D05"Q)#,'^[A$_O'. FO$'_.+ $_7 _!DO;TY!^
M%&T)!8=H5&&0HN6%9: 2J2Z&O@DHQ,(T-"0_0G"1((5BD  AB:#-5 $V35$E
MJ_LJ4[V=\KW2RC'-7T] L,E<D&-O3JL:HTP07C%&$E;(#2WQN&BT/._*0_:%
M8P]P=LIX/*21MW2H\'(O-F')<!(/#'EY[/L>:;O\A$R?P7"PS?QDH0T]\#(.
MSA)-I<9JLHJ+^)67NDB1N"VY1ORX!W?(P5C63.69R(5 JPI2'89=(Q+@Q&O3
MK\8N^CSEF<4!/O$DE9P+0WM$+F=.4P.L TNH"X#VNEP.Z*)/.!=H$PDSYU-S
M.? +/F%B4$LH]9M[7BZ';3%CZ?08ETBZ5'F;+H=XP1U=FF;6^TNZ6F^_7.>]
MZKQ7:GJO]@P*@RC#'/33@3'HAWOSEP^"\-%=$SQ8:,S1$$7]5T5 Q2AGO/0E
M.EVR@$OR9!%I5T);P0VM6B"ODFZMZBPX5[^68%."(KM\GBU1;:<T8Y+]_GB(
M]3=C<H-4(1C95&ISS!3N3N2C.R_D8ER+Z--8#!BT/@P1[DKD)>H1B(U[$4NI
MEW*-X9,]'G7_144:ED))(N,7B0W0XJY2$SN(L@T2PL$V^Q=Z-]0J:RBJ^]7
MA,,=)(^5K%Z<96/E=$BM07(RS]3ME7H:<Y14.-MCH$#%]-8/,I^G73ME(V4U
M?J3(/&0#3-P=2AQ=[!:<!:2^JLH%.L@D/GR5Q@></>\Z;ORN[-A=X7[_NT>
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
M]PDXR>8NB LY]Z;ZBK*CUA4AYPY/UUM7F3CTJ2)"#$.?0F\EX\U[)]8U@,O
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
M*>LER+GEA )FEQ0](4"LD"-3T*(21EP:47$OQ& W)@7IVR-9&88*4= M-51
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
MP-2KX%HEQ]L+%A7H;3)H- !1SP*F:L.!:R*N>H5*9=32]C0_RPY9 '%X_;;
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
MF]UPYC]L])[$25I?3T<!*;Z&*.:242J0;3[U9<!8(06P/HT>DOB#C"'-V3<
M:7/$/D&'\_)\\;S<.QWE>4J>BIS%"BT3MA9XJ)*!8N<JW*^I.^6#Z,WC,25#
M-ZDGU$ENA@&O +4/J,2A]6AN5O-U4$A7"=6I(9D.+)):HC6N8_,<,H#I*-PS
M<%@8,R^PB1J>EBE5T!4KEGUQ,$Z"&:.PQ%,M#I:W/51KCT&C!8E?\R"=I3SU
M>LA79N<XY94T?PNUIB>^F:JBX)U*#2+_#%CU/(2SQCBOU^6'F#B3DN.DCQ85
MZ&5_U&B X9H53$D^R'J;!:K%Z]9KH-&S5?;'P"&FSTX3*",'&D"!F7!LH.!5
M3+.LL/?O:FFOOET7LM:O*T7!L$J/S\J?(UP#'H_4M\79J7AEE.*F.!MYN-PR
MWQ(G)5ARH>OACDLXR;8&FRN:#%%72FFW:26UD+N9)*6B8!BEQZ<X&WJX3PO0
MS5G5*>A;VE)CMGQ(0?U*\NVXH-3?X;1)B<G2!-%_0G6$P5$EN=W"/;JJW3W=
MP<6 X>WQV(7HP2 "$&8U3K)\MF9)\/CZ(TZ?R0IGCTFD=MO4"F['61/P[BBK
MD@;#+"-$<83->#;G# 21/J5)ELW39*T,2.E(.$U7*4+K9*P\/(:U-R "$Y)7
M,@FTYR+>&="<*:MNW#"EH=/(>SGIIX(M/>'7%P9C1DP(A<"W6AY-H-Q]0D?&
M("TWQ'X--LKC,:*8T[UX!<C.KGI/!@Q)%,#ZW.#/O--AME[3D3#-6& G)6C
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
M *]CK[%BVI%8J0V%I$<CEYW/J\G*N+JO]*\.K.6;11%;LMPF4?B>UGM.7D:
MNKYSVKK.NUBE5..6KE)^7;##123^IAJYW\<:91,P?NH:I;8@ !RVJ*@%ES6E
M@'%)CX;>IW6C 8G'"[RO1AR6S#A)\R5.=S?X2457C;Q+5AIAM\FG%(8V^)N
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
M=YYC;4BU] ?T%<I@R#<4L9!L;32?+D=WB%LK[YR4IP4P&"V3DO\4/#JCIM<
MPS,KF)+L.>W$'LW]'("LH)#KQ-K^66EZ375C9_,LU,"PT!ZK0,79PX?Q[&&Y
MF-W=L7.QTP<Z<9\\+D\^&'OZ.(PWS)]<X#U+E!)O3+>?*<6=CK(&T)U!52$+
MAE4&@()C7XJC1AZ2/>O798 _9Z/IDV.V/IQ9#2SS[.W9X^03VRN;W%RA]LG_
M\6?JR-U/%M2^W<X6]SPC!8^;FE#C-[N?CEE@P^3A9O(P_NN%XZ383#I@!XJ?
M\2W9:$(4[-7<1TJ9*R&&2JEUO/-N(%!)9N9: 54:%R&1"$P7+J65=D49"\@U
M4S2B( ABQB?P8G8_'RVHL?EE@FZGGSXO3L\W<OI 6#QE^.\%M:Z39XMM#K6X
MVUMD]:"[U\;*9;USR!*@>#%L+8Y*>5!N5:\N1F=*+>^33WK'224,EE%&)^GS
M]>/D/SZS4V,3=N+6OU5B]R6/XK!W!SS/\?1FXI2EKDM^#:I.FVM6BF!X-P2M
M,#:R2ZU9%";_H:5^$<^I'>RL9Y51VI7G9 &Y]IPTHMZY8H=/N/^I??+ NW5J
M4AG8&22UN)>D$A9F1R7KG3V6 %792E@N56YCDC(U_2,U,0 ROLU3O"/%+CLD
M]1E%4?+",@K?)NE-4CSEZR*JKVB>9#G9\8WW,HPXB9)-]1T47^N,Y;O-!G#F
MS])-%7"FPL'TB7/72,@C59>&UDF*ZO)072"$;J1(I&!GINW50:3$L##CMKJ
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
M4XH>\ZW/Z[>#3+4=.GH)TM!V4>3$\GVMH)SELZB66TXJ' SOSUTC_4(.U?[
MU5'[':C]$O3TUA&L7H3XFP"M_1@^ENI;F=>)3B_8>2:MLWP((0/72:7"Z6#G
MJHHTXY>A-QDZD^5*&.P>-=LSP:R5_/>AV#WA]-SMH7[/N^AOIL]TENZG>@G$
MP.M+55*X%8<_9.,?3SF=M2ZD156XU$6B<3GXIW[]^%^S49%ODY1=\?,Y#G'Z
MF">KW\MJ\9B7R2M.5Z2ZHGW!OD>KLE7U.S*]3^S^]:[B@GU\U#JXV.6[(758
M3W473NY4,F623;:077;H"_1G2(/IKYALMCD.1\\XI=->7;=W_O9W.O#:?-(+
M#<>Z5T/J\WZJWN_RM0H*2AV$.S;@2^SYG]CQ]6P:SWG[\"L@+]0TTC>]IQZM
M^53G[+V2U[S_R:VQ;F8OFNOBD\\67-YWKH#Z\)NUKWZ7/K/%Q[R(OZQYK_?>
MZ*&R]L[QF;KIY0=&Y?*VU%9=PBT^)P)0 ^GY/^V@ ?9\K_?>U?W5>;!O_&XZ
MON%+W2;I&I.<G?\:Q>'D=4]27D+S\2[D&UF\%U0G/]=G/*?O;'PIM&,QKBIL
M=J_';#H;1;2#)RF+L&(G_.'[V@WJ63HI,?MPNVU1O$L/?-@GOH@S;@?!^V#M
MM][V+GI3[)<_5GM8S3X1TQ<UQKM>^3X)D'?[ >DK#';_+^$_G&Y?F(F=9EF!
MPYLB)?&FK']ICEOVMS&H2N?^B(*<]N2C*]KI?H-+ >=/'UL#LX/<:,#WBB>O
MJPJK#V_8]/9WZ07;?=*+>+_Z5WL?M?S4U][;/5N_];\D75?%ZZKT0!"@_-F+
M?."SKDT/0N"][WNM]F 7U<H2 )YN>8KE!9B;\'*5-/F!-8G8L13**%Z$33#0
M>_!Q(,>G B*AM[H/\'E\\O*_4 0E(%;ZJOKP4=B:FS"<<CO/A=_(?LES2)+W
M@'*MC_U,Y^RVPDN^O.ZIJN*E_!88"UHMH]2JA^>3248D[W*A:_BGOK0_:( !
MIX_[_PBV'N(EK0&D$=G#]J_UV]_IZ.W:%;=\-1PKX*?B7X0;+MA-\6L]];_6
M;4#27X*HP*,L*W;UI]OC%:T\RSSW@ZYY+O1"YUW[HA].Z,T7>1NLM>Q+5E$<
MI$L9%)$U1A_0&P[2DR_L\C<*RS[#@F2_WZ88M_.,GMMLVK_W78R\0S_C6<9<
MVY="RV;KJL(7O>@;5I>MK=(O242+B4C^YJK3JM[\;KNM_E->K./*7PMKG'52
MUWZO/0B]WRYK<ZR+/[RAWZ'Y8A>:J@Q&\2ZZ\FF?^'(I 8P0WG\7/ZG>QJGP
MFBJ@9Z;!UL>3\EUH ^7\8ON6.YRFRH_W*\FW4SJ+?R9A$423UU54L"F]\$59
M$/@\R?(4YR0M/WMYJ5AV_;8D.7O3H1@J2_]*JR=_O?6%B4"!>[NE$>CWD-@J
M\*CAF+?W\JD,EV!R775.47[-\^&]+(ZNJH LUVB&@IC^TJD%JJMQQ1*4\IJP
M5Q_*Y#KL$:V.&A249, 7;^T[\Y6>S@ XOA?4\8?M72[JZ.U@+)CS*DNN.75G
M?0 F0#YFG9G_WR\XR^DW6##7-A.OJ3K7FK;^7>]BG\/F<YUEBT/W(C ]_I*U
MZW?N67=F!>DNL*,_P^$TK3D9S'G*?Q>=3/59SM*Q^H6__\ZDJ)&J ^V"5[(K
M=DU' G%-VM&5-P8:+_ N("S+ZCB)\S18Y73<9QNH/YZ[&4Y!\BZZY>F?^BP=
M^'@8[[^KGUQWU7+FAWHY,ZT+0*M#"3R8P+^-Z(8X5G?\J3ZQ0MAY'@4E8"%7
M@B )AZ\Z>,)Z$!.N%L+1GCZJKUB\2&3X* P)>Q.;4?*W9#<%7B;M-7\A#\<
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
MNGPJ^"(6.J :;P!@T5MD0FSWHW3M?;31:+^/" [9=>4\+4FZE_N(*CE0;6$
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
MJEB#//EX1)T9VTFXB!P:US[?KI]"GQ\>PFRHBC#( T] VIE!/IH'&]Z3)JK
M@KSLF.0 [0G6J_OL!"O$]UY@MU0%&.2E)R(.;.]=*>V]*\V]%^3%QR,*"-O<
M-YRL*/O)QZNCFDQLF)D=E.-L(!$7D'KN^+TLY*<4-WQ'_L&&G=-4%7"8$$D1
M>>>&.O5H.'H^I3L<.(&+:9:.7<$T#NK27JH,@(FA5"0:1+W_*_+]OP?AUV".
MG#@,D)=?]44:?FX752X VA EY(*PX'/HIP2E*',$C3AK@--4%7) VR&'/!C?
MR]RI>7_VY'5V18CS>J@"#VA$%!,+Y)^6(#IG_(*&3N(4,Q3AS^NABC^@05%,
M+)C_?#0@!\\J%-O,3QJJH@WH"LLD#03D^=KQ_=LTQ@&*A7O+24-5D %]7IFD
M@8!LK5&T(IO:?11^39Z+V$X1V)P.JJ #>K8*284!__401Y['OPF19[16SDX
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
MD70#SW:GRR0E&,"9=1=&"*^"/&;>W68KG5:^#H-[<DK2F(Y;M"1MA%87K4'
ML^#I,K(&1/I*Y9]SI7* 5M0.":I6IG;C-,#N?OL?!82\=?;C KG/0>B'*X$O
MKVI_\#1[NH*@!PSXTGY,"B?D4SKYK!-T 4^AI\LM*?F=W"7GSWBSH44P0V:L
M!&ERW (\]9W.W9!%7$<J@O4:9]HAEA(L>VJ7&H"GJ--3$E1( ]\I*O/7," :
MD(ZN]O7YE-RW8 L^!.,J,+'<&#R'74T#<)5@.#8R-S-Z2[2#OOO/%.=^>_9R
MGC[%V,.9S92]P4D[@>>R4V27"BV&;(.[Z[P=*)6 X#0'SV2GZ1(C(AJ<)3M3
M74Y39JF0&R:/&H.GLM-CAX!@ YBQVVEWWH<X2,D.?'"3S1_"^[1?*+9>";$$
M8APXT79$$(AUPXH[_2AX"CQ=X>B< 1=\!:IDG<O\D<C_YDEN%;SCU$< 3\:G
M)SBZT!BRU9 )%E?T6Q0@H5,JMP-X;CYM[%EKGHO$16L:<T]<\5NEW 8\UY_>
MJJN2=\&[ZP0EA^.G6::0&D.!)P?4XWQML"YZ.1]1K<A^ [(--F#M&UC7NSQ@
MNY#;6R?&+I]YG.;@V0GUF"@D&OSR<SJ[(?;31!1LS.T GFBP&5M." =GS*^(
M%@)&7O^%O+=6:)*NGU!D+RO1M9(UI#D,>(Y!/2;6 LE4UA82J!%.KCT0>);"
M5M@K PJ<P2II2\F^@VD]7#>B?E5#E/^O0E1="V.#9SK4-+^T!B>X9.B]0G__
M:$"*PA;1YSU9*9V&,$A$+=\Y:^>WFKNQ]KW_3G/CACR?<U?? T]AV)G8=,LA
M< %D4+:;8[LY5%O_D*K(=>=>U)7(=<23"W[)"Q#I3"I;E<(?NG/0 I#";T;M
M)\"@EDRIRTMW'F4 \M+)#F1J,J^!$S_?^>'7@P;U*&O7CTVR=M&Q>]G@\,FY
M2NG;]B1KI0-F] )3[M.YD ?""R;R<+M]C*E-<^^&UR=7NA=F=FRF!4![+'.2
M!G,96;44U$0,_,+;D6&VL_VZ =2=F6Q?4/04Q@CT:#Z\J>)%.$/D!N)B'QV9
ML!9A:\NZFZ]!9QAK3;:Z9 ;XCK$SHR%/+=42KSUT%K).F10J06 (1X>(8.]B
MI]#4]-?T,?TO"5N%G:"SFIV1MPK@@3,XSR>,LACR&37JV$M"+LT;FJ@Q6WD
MZ QJ9V2\)JB=1,^=?+S(&\U+M\-O#9UA[1QL$P)@R$(]:UQ*9S:K,RY"U9B6
ML^O:S(L/Z\S6=*;%JQ];=GD*UE,=8PFCHJ:N4M)WY3&@$]B=<:?0AQ;\-*A.
MN>^Z84K (E A_$+M#3IRP.H-GG:O!E]DC.6C],8V!WKF!>1#[+.#B\]1-_ ,
M?QT(  .7-\;Y:80V#O84,OC*>H*G#NR _VQTWI@([':YJ;.E6QS5/;ANE))Y
M'HJ2UCD=Q..!9SCL\+Q00=+,2P&=;"GJL"!$D_N\0<"3)G;#<C%F!O*9501H
M)Z&")&W: X'G7^R WTK8@?-<W0#5AL7=@ 2-K5G<])&[8/<_#K&Y!JP=!PWA
M6.#I'-MST5# K!/%/9F'BY"79?=0=M(D'57Z@>=O;(!UJ$6I(=LVN3H4*JQ,
M.QFAVS3& :W)E[L04C"*OXB*.6N- IY-LCF3:]']!IYR%8*5;#WB7N"),;L3
M!\,,.VUXW.TWMKGC(WMI$3J3[0-*GJF7L8HLJ \!GK*S/<'0Q:V3@WN(-K0F
M<VP'TS1RG\GC(LXGDN5\9Q_:LC[@^3A;.;#5D+GLI7NZ-Q'$R LCV4Y])TAH
MT1F!(/#V-\$8X)D_N]O5I<A=M*"HX];&R\R 3*2M"8H^<F_O(;_W2VKA(2\<
M"SQC:GL/>07,P-^),[0IMD&:)"6,D@6*UD/T)."JH MX1M,&G#BMGR/!Y:+/
M@C)UXS!8Z3']N =X,M).>,Y"Y:)97GZJC.(XI7["JLQ7Z0N>Z;0U,5!'"GSW
MGN[E=8@IU8&GH*TY:@R>U+0]MO&QN.R%NZ=KCPFM@*/$Z-,>X(E,.^ V&Y4W
MP?)%^("#,,+)-HO6>@Y]PAXE?2R['WBRT];9+T;HLH6 >0S1 DYA,$]"]XON
M>7W4%3QE:L?'-0,G\--:G>0VGM0&Y%]MC<?ZR%VP!L9:+I&;V$OKU7UV@A6:
MD:W(#BC]]/^I4O+%\5'F2TY PR[9J#)[9. =_Z+4<I^3:HCC31@[_GT4IAM:
M&Q;';E[( WF'.AY\\3-A;N 9:6MHB$S S9!=L!'1[+1'>RC*\.:0\T7YW/,
MS[1;0VQA>'7!>[<9N[29^W%G2M]S"W;SG5=/K#?90B)41LE5N,_*.B/2+1LN
MWLQ4S74$W J ,TDV 4UN#&UI>/ TSN<61^-,IJ?S(T_3*-J2]?+9\5-!@).L
M'WBVY)J<E6-QX1O#WOZKY C);@V>A+@&<T5T7SI+T\W&S^!P_!T<HV 91NN<
M(_(DJ:H#@&<3KL-X/73 =^2CD$GL39!*J<Y26U4>=:8,UP6<4Z2S0KX!G,GC
M8A38<M)0E2>=*:^;\H1)>"?^W[O4$MN^YV59B.)*_#@#>-)3J:,J([I3M]9C
MA"I]7,:8FKT\,VH5ELX\W&!/Q%$:\Y^:I#$O?^3?'/(,_&LO_Y916<VK4&BE
M-Q=U![J7[":W$"=+.&TG6Z05(>_ZJB'GS.F=XX2B<I(G8%Z0A8VRXO4*_"BU
M-8PG1Q+% [\T_7)X'C #<@&B>8K#('MFOF(57K"[72);V)24\MH#6:J/IS4,
MUPX69.SE-#>,(2)A.[7JL@DJY3(%JXFS<WYY0+1"ID I56T*74ZA#B>X%'=R
MX2XROHP"Z]5%,;F239TH4WAQT2:]I)V@2PUHX:Y"D"%OT!E*R+)$WJZ^LVQ)
M\-I#%P>HLR[$M(.SACS&TG7JT_<'K^B5C%L:0T!7 *C#0&V$P'DZS:"0L>VX
M%72*_CJ<8=$)#CX[*XV,&>)>T(GXZS!'!0=P9E7?R.W6<VUK?&,NA)6'>.6]
MU":@%^^ODX5$Q'::Q(D3>.P2''M37Z6I,==1*==Y9%X\ WDG?OVBULQED)]D
M?.$X\S2,N6?+! ^$/>"G5D?5&;N_=<O8*:R^"'A#H$%-R!NF$3W&LITI>V5/
MT-?L+T)-J%)W8V[?2N>[*ARF,B\_KNISK]+?F/MY3?9Q  'GWU$AF)T%V?&I
M17\4%,JO;.Y/IU449R@O"(3F*'K!+LKII+5D5D$VBL13L/LO0Y?C4I:9<S$!
M7-H4$CCHIVWHW@E8QK^WE8N!_6#<A3C1".1=HE@BB4\XD)2PK#D<=(4L9>8W
M@@M\1>XR"^SFO8M@H_,>XCB_HE//'9XBX1=9OH;VO@!>,DM9)MI&]:+WD\O0
M &I$0757DNO,2L W$]741 FHPW@#]8 =\A#,-_36B3$UM9?&WA-YY/WYI]Y-
MCP;L^6&<1HC\<-N?C^8]^ZXWG5ES:[+H+T;V!,:#L_#!S5:DCUVE7**B/C K
M:W=W&:+8C?"FT.\Q&+0@S+[UA1E[ZHREN#([JY,J9>+)^JR/ETG.V7-,GH]+
M[-(4T14$V$OQSZ=+<3ZZGXSN1H/^9-'K#P;VXV0QFMSWIO9X-!A9\^NB;'#<
MB=BCL!!5^U_:XM/#Q:0%-Z:O@_@=>VG]?+JTQE9_;LW?U5I"[.(*^]&+B0A6
M!:TXP&\.LR#&M&H-VA<=RV>EL!!D_: 6@!ACINRK06"2S%>K1;/E_\/WI_)?
M'"?SWLP:6*//_=NQ56\QM.!VN9N[PD'"; RS8/9)Y4IS4E@ODF[ YX6 &2>+
M18E\D]9*J; V9Y%\.%TDH\EG\@"R9Z.Z)T4+<;%%9.)A7O)%(NP$%=];F9+"
M6A'W EXJ"JRIQ/K*03!IQ>SJW.SKVV0G(E69\5;0Q],5-)W94VNV^.V//>L?
MCZ/I UE.O7]SUIN_YA>P7^SQ$&II<:OXR!>80E<PGQOVQ+26G=XHP,M0F8U5
M+QYMJ(Q:G$Y"C=V<A?BILA#["[+VH-;:?1AZ7['O$YQ'!(A@18GJD]MV$NL<
M;)K#@*6RX,Q,Z<13Z R\XFHQLYKV0A4DDQ;=$>D>6N( )VB,7U %"<ZZ_.%T
M7=[;]O#7T7C<ZT^&Y+XYM.Y&D]'"ZHU'GRWZBT5_<C\BC[->?SZWKNO7%%H5
MEK+N.&]@5=>#SJ0%?JC>DQ<$Y2SC'ROJ1'MRWUM8LX?>T)K:\U'=E2I3+9Y.
M3UG)R._87KCSZ4=$BX2T%S0W0VDH [L4XRPEW20A+Z7IX\CW3RQ-R'SQ 'B%
MY!1,)EO-?X0X2#Z3'\A4%52(V@-!YLRH3%/K"-(9 _CXJ<E>9J(-'=!,6I=9
M'LV;A&PC9$A:FR9"'DXX2[3BMS'_Q9XM;K(S:#R:6-2#8S"SAJ,%T(*E!?!T
M+H>\]L"Y7.FT5.S!G/; RTK,!%X>5R;-)JV4<I%%SOJH.%.4KVBWUT51RT9<
M@EW%-,QN?DE+0DBQ22LB\V:U-_EOV2NBX@,Q7]B#O_?L*77P@[K6'2:4U6(K
M1>5DN4RR6HV'N)U=.3^%A=-P7*C@'L59WY9GK; 4&P\,O6A;$9-*S%$K:)NT
M#>PBW8[J&99W@8\53Y!!?SI:],?Y;@#YME-]ND$OTFK@P"1,D-;#3&,((]YE
MTIRLFHB8M&0F87##".Q@^^A^K/B(3.S)S<">+&;V>$R=<T<3<L>TY@L@[UQV
ME(I\:<GZ&1):I[/(E#H#+R\U=LE"XRYCH<W1BAZ@R"OY& _2. G7*"KG:0\\
MBV 2KK$[1!OZI<!E9R[_6'$WF5OW5$=I#?]XY#L_>"2'VX,U(XOSSIX]9!$M
MF<'-(BO7?A@-J-;>F@RMR> WH%SE.38SM*&A9\%*(3TYMP?0J7@R'[WS4*4S
M\%*5L>CT3%3'PZ1%2N_!#O5_?D%W>$55KNRE5W$P&=@/T_Z,+*W/5N]N=/\X
MJQF?(K& 5>>G:@(3]6PQY6_E*Q(KF+"#$78P.>3E9+]R^DT2]WGZ%*-_IF1<
MB_IF<H2]XK4Q?[R=6_]XI-Z,%G41!KKLG<Y>I1P5KP=4?:WC^:B<%?PNT">$
MA!V5ZED2VHU:***X,&%8X\>*LX0DK+'WA]UX0(5CWD:$8U$O\[38-IW=5F&9
M*7:_M/A&+50Z*0I0=A.1<X/T$': SKFKS@ 9)>U WEZDBO)*X?> 3HVKO3ID
MQ(-S9QJA-4[7I8#'ON^'7YW I=E4AV'ZE"Q3?Q<6:<4)SI4*N4M(Z(>K@C0^
M.UO\!'2&6FW^MPZO 0+#"?-07M[J(T!GL*W!;CUPP+DY(H]+'&65XZ)=U7E[
M28WTF1-^[FJLOG'7&@TZ"Z[^IMX -'".\W-DQ\=)LM79WF!(Z!2ZVKQO#!^X
M ,P0N9*D6=J_ ;64D-G_BI/GG>% F>NZXT!GOM5F=3V@.GGBE!(X9U6_GIU@
M12\0189=M6>/]B#0N6ZUGD(U(0)?CCP_&76]@NH T-EK]54+>M 8P<J3BA3Y
M5+5XJ38">-[96MS400><G;O2?5,494YKRER4=@3/Z:K-/$4LP'GV&"-[63RC
M124>3MN!)UO5Y@B;4G &W)&749;?WUX6"8UHH5)"2;H^Z(4%3PFU[JKL,D<1
MI(4+.!=I55^\#QBCMU]"*7GO8)6KYF&_5QY#E9_F:'KT$0)G:G[F9L6NE!7Q
MO!ZJ##-(:2.A'IP]1(9<1)^9V747QU_R:$7Z+]$B$W1299(YVA4%#,#YQ F)
ME9ULDFZJO#)'/:*$ SBW!!DTE+=!G3%4^6B TJ0&=88P=8*^ELB,PH#\TT7[
MPSA3_<2CH-P&DZ-YHY90M)W1507!''5+FZA>C*?5(LNSRO:SJB3MD/I9Y:-]
MRUY6;/6U^XR\U"=OG_RXL)=#1%A-WD!9U8&L'(Q$=ZTUPL7X4&E39M[J*C*!
MB]91);-&D2N^V7HQ,6D\6_K3]=J)MO9RAE?/2;A,X_QX)9MJ]M4Q=IZP3^Y2
M2@NA[F!&>+Y+TL8WH<^0JPDKY?U^S@].DD8JC"Y&JS48F -C2P4"%-$R:0]D
M5 T0[8>53"JLV@' EXE++2)09479X2Y7)]!*XZI+L.YX%U-VH!E@)JW"<CT"
MT?*KI&TI5R4 7G9OI3S!X5:[GUSN,I6H+CSU$2ZN;($N."8M,E$) \&B^U3)
MDJ)4R !X-7Y3%0V:>&Z;LQI;KUY@]FHL:A:(5EXEP<JN<@'PXOJ64J ?=OP[
M?H9[_9-18[ WD R] 8@FK5F-D@>B95U)U:);^."Z_$%NP\=S)-/>45#G8JP\
MV)M:_MH@@FL%=W,/15O774HS<O?7-+W-OS+.6*_4_QGI2D8[7X$.A&Y39MK$
MW:2SI%)1071B5#(,,6IL=&N2,;K8QF%_J=2>T#)0RGJ;88C1*,6A"XQ)"Z1<
MF4.T-BH)B<KU.8!O2M]:H8XYD8',[21#77#<G;23+:R*='9R;+53=^.4MG(X
M#S!7R-I$(_)/070%JZT9W&'+%@_\TO3WF45:84",W'>K\.6]AW"./?G' 7+R
MP^]CM')\*TAHKN!7S,*:M*HTN@206?,NW27/ 6[^Z6&X=G# 1O:X!3"L+,0J
MF![/^'"):.^"9 6;*8K2TJ8V]MT'M'Y"$?M.).P ELJG@E7EPJ- :"=1WG=^
M&&'/R9+CC\<#$;2<IF#Y<>2@"HDSYH%N+V_3F.SZ<=QWR4%.+KGT/GF[+?VD
MI:+1&0TZV2+W@.<J8O2Q F<TYWI6O_:;01H390ZJ@@#.K7NREU#G$SO0XY6L
M'W0>.65.J0%@THO[J)*8Z,DM+/EZNX!^=8,6%I,JJ)Q@$+Z@P GTM5."KM U
MB90*B:F38\@F=I@M); 4]*UUD^#WA3YV]$HB*H-ATJ9V5 Q.M*E50X:.2L)!
M[VG7VG#,=7FH25:>?9GI?3?!+QJ>^VV,#;T;=U$AKCW,#=K6*R7M^E^=R"N3
M0C-_Y'R+XW2=_ZZ)*#7Y#OAQ<2ZY:LX,DXX@7E4UT6E4";SCUE8#/IB,*K(F
MN7P30),(/Z5JB_CHMBKL>E&%T]3)ZE!?>I@!F?R@.OEB1UF$98V4%L/JCPN]
MRS9@9U,P3=HUFY3($^VLE1"^%@KE >_!EU\Q;X8(#UWLYZ'S]K*4P+>8:KP(
MB6@3.<%>)LPJ68[KCPFMT->KK]<</8.NY*7)6V3KB +'WRW[N)_DIQ7=S';I
MO&D() T<O-W>HW 5.9MG[/8CY&C=SSOX*/0QHENCL7L&&"1DN<7S5^R5*C/;
MP?'\XY.R *-@%'CD6>NECE^E/?^G2DZJ\\X"W%Y25PS/QR*3;CWD^8MC>SDM
MC3U$B8/]>.)$>2U)]K6F$AI]VR<WPYY]UYN29R*YW^07F#\4H_7VPWW+*8^^
M<8='[3QC5]_&CHW*L+Z->P;$45("G_QT )[\\+O]-2!W@6>\X?@WDC8G32X!
MYNJL6_5MU :7Z^18GJ@A?HY5[/C8OCE'Q_:O\"RX*FH?*%]':S(M?W,\H"J8
MR?2!W'?"Q!&"K=03[,:JAKH&]5W!3]DNP;G<!,RU5!70*CV=(%?P2.*?6VT%
M5OY*"3\>5>"O[4+M/'6BY*C8VNVV_!?.%6*OV5(?XQ+N&#7(*FUW\'SDWDD8
MA!ER-:D!N91G75YA'H.H]"713L5N"5UHER\NI4U+1*11&Q<7?P:UFASH+(^\
MG ."R1O"@WGZ%&,/9_EDQWB-R33WV46IZXD3;.VH^ .=?W%*[H_+G>U3H UH
M[0O0QB+EZ(^6,>WDDC8*7*K814.4_^\HR*N6H8B6%W%6+"4;Z:?0#=P@(^63
M&AT=@C]#=+?(7 =V3QS*?4^&ODH_<$.$"OSJ )AD-! GHB\T_DRSP0^5Y([S
MP2_6\'%L4<O!@[7XQ1[2?PVMZ<P:C(YM"%?+02NV2'[^0HE-07D$,V[@^M8&
M90+A[1#<&59V&XW<G&/C[!2:0JN:J7/<N46C#5;>;A?DLV*%A5+GM\W,,J7=
M6%#:8":=HTR;H=39#&9J"*UR^MP2D0T5':W4YT[)ZV,_.=F[G-L!^A6@(9",
M*MP"#,"?[ \.H9P\%;=EJF1\$G:"?C+4YY4"%N#\LI=+[")E3G&:0ZL;Z_-(
M2'\GS^O;T.'#3!J4_ZZ(:V=EE6O@>D*!(6)^FQ(RJ>-AX.W^.5IOHO EKX\H
M$WO%[HKLZJRH<OUEH(5/)\MB$3G81Y%H99PT442[L^K(]18'DT[P]=%/DW =
M/I&92=<"HRF8;;RQW'/I!N=(41I"QHV39M!6I_J<8-(+SH4%<I^#T ]76^4K
MDJ"+(G<Z*RE<GSM2', YM:]CI'.N"SLI/Q+-8Y<"&. ,VX439?9G:LIXQALI
MPX2=5!EFXK->#D8W(=CA,OE*2!-=NT[;J,)LTHN<04:'J)8-;[DQ[C%&'IEI
M/PA2QY^1HXX-M5)'4RMTC04F50U$C+*IBDK/*X5D_5 IWR4M0G\-SFJ3BB,#
MAY>Z22EM@(YME=W5#+U_,Z,JFS(CK*DG4ZOL,$QK#;^3&=Q2ELBJC89/&DP,
M6#$E.YJCZ 6[/+,H:<IN>:$,X=(#$BM63(66J"@F$XNBQ@3-X>/'1 )519]%
M [21<DYN[IM<D_J+$WADZ)7L42/H AD&)96KTT-%1CG\DS,,J -?E.>KP_$7
M%6<.8:<+W<!42 ,/.:G,3L5;0]C)#&XI2*&,3RUZ9;"-,>1O:!KAM4-+FQ=I
M7X2F&5$':"NF@B"5#31RVDW<R&Y1X#Z3.7_1WLU.>IJQ2%K<TD[H*_DBF,*\
MW02U-[=*3S.8IRJ>4MZ=D@=]N2MEQ<I2+)(7]J\X>=YM$_(X,:7NT&X$J@):
M"233  =\"RUT)O$,N0B_T!U%:OCF]@#7B-?DF R#;I@D><Z6DG\QR]Q4?XO0
MQ%D+= _-1C1C2ZVCHVA&=^E6=C[F\Z8D4FC(^L!K-=H0Z1)?901W\2(X3%;T
M#*BV4MT:.\F;H29-1X&7;"K!3ZM=Q6;^Z71H 6\?E*GM3XZA4^+ T3X$>MK+
M7;SS+7(B'*R(Z) ?LC33>0GM</\O3 1+RJ86AC8@>$&3P:WA"2X9N]E/G2T]
M= =I1 'K!Q[-UY[_P.>]4F<#PATTN:N!22?>%G;RC*)267OVT51M94#0@BK2
MS/D;LB0DSS[KU?73S+4\CA'YC[=P7FN_D-F#0>L7]9=, \Q*_"9T+A%97]XX
MQY%+34;*"XJ>PAAE;>%47W%B+^_#T"M;E>;A 5R6THO?!UI3HL]Y.0*=[)%5
M%3AI'%,/45E6#[6>!L1B:.RE.FB [Z_L)^,0Q6Z$-WFIARFY2;EXX_A%R36,
M!#?0NN,9$.2AN=::(6>4'V*Z7F<9FV9X]9S<A,N;-$99MGNRB63.WOL<3L)$
M+Q\KSHB/#P_]V6\TN\ML=/_+XL:^NWF<6[W^?&XMLD(W8ZM/?AZ/^K>C\6CQ
M6\.\+VQWV?V,,E+B=P(_0^I+RF\.%$.[070K"5;9?#(6V<O'@D'\A2CI!O6,
M%R/,7&A* -2^N)#!<>C-$R=*0"\O0BK[:UK9XE\9=ZQ76A11X%BJ/Q+8F[]M
M:1#@I"\@/^<"$J 5S6!HKG#4E(3?/P*J ]IF/"6FE8W "DSB]/[<5>5QJ0.8
M J(Q;RM40V_NS'O%.,^=F&NG^)LR:<IN":97T.$/=_:&/%^.!6=7#EAUM1S:
M@SWU&R^64YK?T#E7?_?3.-O:5QJTM_^]]5-M(+-IR/J!:0W:X_& :\.X/ 4L
MAT05ZY5"5[#L$^TQ6VBS>C/\UM^N/P%FKVAQN_YDI'9O[Q[T&'B$4.J3A[P9
M^<[NZB!4ZGT296]^G Q'\RS(V!KV9M9DT9OV?Z.5KN=731XKB0AYJB*.\.R8
MD:<')[)N+^\( 8[_&W*$.4;JCWE!.L#FT($_591(&*9H0A;ZXBOR7]!#&"3/
M@L=,_1$O2>'7%+>+83R5UL77L#F_]P-=DGJO)DH7P]WF;+TLE9XN+K4OPDF8
M.#[H-5A(:OG29;VZI&E_37^J*0_\X2Y"G]B,Q*N&2U^_;Z#*LCW]/OL1#/;4
M*L!02]WTP^G#*O.%F+]K+473-_.&&A;;!2?SF6#/.>YYX>\A%@QF*B*JD8%"
M%<2/(A5$D>1LWIM9 VOTN7]+?@U</>I ED).,V9C4X)6[Z,P%CQ N1V @X0$
M#)#&J!Z1#/ZZZ/M^^-4)7'071L,P?4J6J;^;\S1":YRNJ:=OYKY?HEK LKH#
M0L<%:?"T&687?;W<T9G%QR2H)-<3D:.0I!MTU)#^>A;2W^I3TX#CE'H?!T26
MQ-ZY/XE.T='DLS59V+.F'K@MA,#M:-E/57Z&"CM!A?(54[K# 8X)I[*@# 42
M3MH#GZ0*[*C$ZXD(!S]0]].;.5\?R'8=8<?/8F72S<871C;(>T(?D0V8)4'#
M'+8)C['C5M"G5@-VO.'#:I?@>Y_8>Q=C0@.DQ*;H/XE.L.G,GEJSQ6]_[%G_
M>!Q-J1'Z$&'RBST>-C5)MY%QF)W:7'[ *70U(/_U-U%B6)F+UTK#UTK#UTK#
ME\[,:Z5AD_;8MU%IV*ARD0:6*SIKN<CF*K=S%#<TJ=H1GQA#.'+V2MX&5AXV
MO9+W62M#FU3!6$R0(=P!J[-N8/'B,]19OY8L;CN!\[EJHYM4=-C,VNA@E5,-
MK$)\"853A^@%^81 [U"4-\NU(.69M"-8A%=COBEB LZ[L1-XTJ55:J/\1#2/
M)552P='G$B/QHI+U@\^XK%F159$N0]C6=]UTG?K4=:=<1Y;\VT<9Q(%73BO$
MI4KH7=/2%XS5Z<ADH6V0P:6&.T.A@5K<RUA=4.V5WH8=VS ?_XK]^F"\5G3\
M__.I&9MENOXW9[WY:\EXW5Y8P-6.S:Z L-^41%?<<BM3SV6)(9I%JIEA E-R
M7,C2$_PL] GI+UK(1=!8N*@'W%?L^X1)(X)6L**49VGK8ATO1\UA8!82]?I+
MT)CL3E[!/LGME]L!>'G58MK)4I.  7Z)*<WOE,;2A:U\,5/BH_)8T-?9EGFL
MB:')[!?>8F7]H.^Q';.5?:DUZ-P\HM]#2SXIHJ/UQ^]%1^N];0]_'8W'F8_E
M:#*T[D:3T8*F\OYLT5\L^I/[$8W%RW)]7X_@,](Z)X*%5#PO3]J9X?O3QN(]
MI0S>HW(_H\I36L"7L7$>DTS)XH$_[LH/,D;NNU7X\MY#.,>>_., .?GA]S%:
M.;X5D/ULR_%P)*TJC2X!9-:\6_5+E(.;?YKK;DB:'+< AI6%6 73XQEW4>+2
M"J:'*B'Q((PV85XA9CP>B(S2*OW W& JR%4LTNID@U^'=R>/_/@'?YSRCY.3
MS?B4IHM.-RJYS.[KFLD9J3\2]%-5F>-U00)??G#<!:V$T35_6\LA#E\BIZQ$
MR4J]'E$NL+]*^D%[^2KS7@V ;WDEJR>2[LPGN+N5S$HOW4XU  .45E:<X#55
ME=ZE"7WA5RLY"955'T3**FN^&#WT:8[JN\?%X\SJ]1_LV6+T7_W%R)[TK/^<
M6I,Y>-:H;TE%-5IO'!S116(ME\A-8CNPG"@@PAY/431_)NM,HKQ2'\&,5WT;
M:BUUFN$57@IS55"%Z8UB!J=U95N?R9TIUFH9D<AL/SM^BFZWF3@/?">.Q6'%
M@BYO@H4"^L!#B/=SR_>>!^30C<>S@QFBE4D(B;=.C./'('R*491ESAH%FS0A
M?PX#%_NYWTB9,%G<<7=?-$-8I N )QVMXP$=URRPF<J\TA6Z0FM@NEXYZ@9H
MP_2F(@^(ZBU>L[Y)*X-#)U&K<1?2\#+1Q/BB5<!Z.*B74FDZ+O3F='814ZBV
M\M:E2UJOI>9PT*KHL\L2OZ3+-R%"Y,L"14?M :&UVC!B5 ;SPFY&=/YW8=K:
M9>@P'K1*'$04RE":Y*=9>(*K!0O]^+$2+)3'-!@4#_0M*:X/]@J!0"IGO)2/
M88:*HQ6?3 VJX=77@CDJJ*W5>IO!6WV)5M^9S5)4\^=YNWUP_CN,5%37.H.\
M?097:897< OT9ONY3IRU-%^F]D!FL+N&F&MH'IF$0^N=BQN53,=\T@Q:95-3
M4$]#[UFT@S]\@#VU %@F>[]HNVY==)*$PYDS#H/5 D7K(=J$,99$G EKS8_M
MR7UO8<T>>D-K:L]'G=>8/YFY>J5$?D>PY ;91(KPQ3"@]BHDREC#[V%&C409
M:ZHI#X0 O+UEMS=6QO9R%XS\SQ03NFBYC:+^*D84D71-<_((5F6E4&EY5=[U
M1[/>Y_[XT9K3'Q>_6+N(S_[@'X^CF37,JW",^K>C\6@Q(LW(WQ\?R.^!_>UH
MOHQD^X"2Y] KA:@0?/XCQ$'RF?Q R%6HX*@]$%36\9B<47$\"-=/.,@$;T"D
M!WLH#\A91$X0Y[+_@4^LWBC YW5-%E?2D>L#!WX#8TR:.B*L OPO<GGQ".5X
MB9U2J@+![C!PXN<BP<R+XU,$M>2CU>]"W]H[$ZD.N-.ZF_CEBO"NCL"9)+?T
M.6AKKGD"6^'%54[WV-"TIN<1T?Q+T$9B\Z2SS(&K8)9>"#GY"^>U],?SB"KO
MV]!F;?.$5\PE?7$^KFP];4.JV9GYVUS >^7 $T=5T]W7H*M<-)3(3K&Y;JDG
M\,B4X5U\"[I$B'E;9DL*^%;$L_N]D8PS32/WV8G1-,(NRTNE[4V@^DGHVBJ&
M[9(\GA@HBP>T+!^O*>7(>]SD^K#0QQXO1RCIJ]@5NKA+<]G0PJB3.D?W#@[L
M(!.Z&.<&QWGZ%&,/.]&6S1U)%^C2+<VYHH3)V[,#L8$3FGM^%&92^,?C:/%;
M[\%:_&+3-)^?K?DBRU=_->9<<WR>^19XS?+9#7>N63[!0;YF^;S8+)^;*8K2
MTJ8V]EUQ>D]!!S!CITI>3RFAG=QM[_PP(G?H6_)8\B294SE-#4Z6*B0.W*6
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
M @D8!P  I!X   H              ( !     &5X,S$M,2YH=&U02P$"% ,4
M    "  9@ Y7$"1,71,'  #-'@  "@              @ % !P  97@S,2TR
M+FAT;5!+ 0(4 Q0    ( !F #E=@_?@2 @0  ,@-   *              "
M 7L.  !E>#,R+3$N:'1M4$L! A0#%     @ &8 .5^'GN[-N=P$ 3#03  P
M             ( !I1(  &9O<FTQ,"UQ+FAT;5!+ 0(4 Q0    ( !F #E<"
M>.,'$!0  #/?   0              "  3V* 0!F<VDM,C R,S V,S N>'-D
M4$L! A0#%     @ &8 .5]N0Q(?6&   K2L! !0              ( !>YX!
M &9S:2TR,#(S,#8S,%]C86PN>&UL4$L! A0#%     @ &8 .5Q1_;WGH,@
MVCD# !0              ( !@[<! &9S:2TR,#(S,#8S,%]D968N>&UL4$L!
M A0#%     @ &8 .5ZV?@ %)=   >H\& !0              ( !G>H! &9S
M:2TR,#(S,#8S,%]L86(N>&UL4$L! A0#%     @ &8 .5QG/=$ZT40  +U\%
M !0              ( !&%\" &9S:2TR,#(S,#8S,%]P<F4N>&UL4$L%!@
0   )  D * (  /ZP @    $!

end
</TEXT>
</DOCUMENT>
</SEC-DOCUMENT>
